Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Jednog sam dana pronašao zanimljiv video na: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pcqq_aiomsg ovo je zaista dobar video …
Na prvi pogled osjećam da je to zaista čudno, a onda su noge prevarene, ne znaju što je donji razlog zašto je ovaj dizajner napravio tako zavaravajuću priču … nemoguće je pomoću običnog IC senzora, ili čak bez ikakvog kontrolera, već samo jednostavnih trioda.
Ne poznajem tipa i cijelu priču, samo pokušavam to napraviti sam. Upravo sam napravio vlastiti dizajn, s vrlo jednostavnim modulima:
- Bilo koji Arduino kompatibilan kontroler, poput Maduina
- Vozač motora L298N
- 3x IC senzor
- Neki uobičajeni skakači
Korak 1: Otkrivanje prepreka
Postoje 3 IR senzora koji se koriste za otkrivanje prepreke, a lijevi/desni senzor je otkrio prepreku, treba je rotirati prema smjeru sata/kazaljke na satu, dok je srednji senzor otkrio, sve je u redu.
3 senzor otkriva ima li prepreka ispred. Povezuje signalni pin sa Maduino ulaznim pinovima, poput Pin2/3/4;
Kao softver, jednostavno provjerite stanje izlaza senzora kako biste odlučili što motor treba učiniti:
if (IR1_STA == HIGH & IR2_STA == LOW & IR3_STA == HIGH) // Ako srednji osjetnik otkrije prepreku, motor se zaustavlja
{
analogWrite (EN, 0);
Stop ();
}
if (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH) // ako desni senzor otkrije prepreku, motor se kreće velikom brzinom unatrag;
{
analogWrite (EN, velika brzina);
Reverse ();
}
if (IR1_STA == LOW & IR2_STA == LOW & IR3_STA == HIGH) // ako je
desni i srednji senzor otkrivaju prepreku, motor unatrag pri maloj brzini;
{
analogWrite (EN, niska brzina);
Reverse ();
}
……
Korak 2: Kontrola motora
A vozač motora za upravljanje motorom, velikom/niskom brzinom, ovisi o statusu senzora.
Korištenje L298N modula za pogon motora, s Maduino pin5/6 i PWM iglom (Maduino Pin9) na L298N Omogućite pin i napajanje modula s 9V:
int EN = 9; // PWM kontrola
int highspeed = 80; // definiramo veliku brzinu
int lowspeed = 60; // definiramo nisku brzinu
a zatim se brzina motora može kontrolirati:
analogWrite (EN, velika brzina);
Korak 3: Instalirajte nešto tamo, takav pas …
Instalirajte senzore i motore i napravite nešto za mene, ja volim da se pas igra sa mojom kćerkom od 1,5 godine. Ovdje preuzmite Arduino kôd …. Slobodno me kontaktirajte: [email protected] ako imate pitanja