Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Ühel päeval leidsin huvitava video aadressilt: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pcqq_ai… but is
Esmapilgul tundub mulle, et see on tõesti imelik, ja siis jalad pettusid, ma ei tea, mis on selle disaineri põhjalik põhjus, miks ta sellise eksitava loo tegi … see on võimatu lihtsa IR -anduri abil või isegi ilma igasuguse kontrollerita, vaid ainult lihtsate trioodidena.
Ma ei tunne meest ja kogu lugu, proovin seda lihtsalt ise teha. Ma tegin just oma disaini, kasutades väga lihtsaid mooduleid:
- Mis tahes Arduinoga ühilduv kontroller, näiteks Maduino
- L298N mootorijuht
- 3x IR -andur
- Mõned tavalised hüppajad
1. samm: takistuste tuvastamine
Takistuse tuvastamiseks kasutatakse 3 infrapunaandurit ja vasak/parem andur tuvastas takistuse, seda tuleks pöörata kella/anti-kella suuna suunas, samas kui keskmine andur on tuvastatud, on kõik korras.
3 andur tuvastab, kas ees on takistusi. Ühendab signaali tihvti Maduino sisendpistikutega, näiteks Pin2/3/4;
Tarkvarana kontrollige lihtsalt anduri väljundi olekut, et otsustada, mida mootor peaks tegema:
kui (IR1_STA == HIGH & IR2_STA == LOW & IR3_STA == HIGH) // Kui keskandur tuvastab takistuse, seiskub mootor
{
analogWrite (EN, 0);
Peatus ();
}
if (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH) // kui temperatuuriandur tuvastab takistuse, pöörab mootor suurel kiirusel tagasi;
{
analogWrite (EN, kiire);
Tagurpidi();
}
if (IR1_STA == LOW & IR2_STA == LOW & IR3_STA == HIGH) // kui
parem ja keskmine andur tuvastavad takistuse, mootor pöörab tagurpidi väikese kiirusega;
{
analogWrite (EN, madal kiirus);
Tagurpidi();
}
……
Samm: mootori juhtimine
Ja mootori juht mootori juhtimiseks suure/väikese kiirusega sõltub anduri olekust.
Mootori juhtimiseks L298N mooduli kasutamine koos Maduino pin5/6 ja PWM tihvtiga (Maduino Pin9) kuni L298N Lubage pin ja lülitage moodul sisse 9 V toitega:
int EN = 9; // PWM -juhtimine
int highspeed = 80; // määrake suur kiirus
int madalkiirus = 60; // määratlege väike kiirus
ja siis saab mootori pöörlemiskiirust kontrollida:
analogWrite (EN, kiire);
Samm: paigaldage sinna midagi, selline koer…
Paigaldage andurid ja mootorid ning tehke mulle midagi, mulle meeldib, kui koer mängib oma 1,5 -aastase tütrega. Laadige Arduino kood siit alla. Kui teil on küsimusi, võtke minuga ühendust: [email protected]