Sadržaj:
- Korak 1: Ardunio kod
- Korak 2: Proteusove datoteke
- Korak 3: Kako funkcionira vaš H-most?
- Korak 4: Kako LDR radi
Video: Lagani roboti koji slijede i izbjegavaju temeljeni na Arduinu: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Ovo je jednostavan projekt koji slijedi ili izbjegava svjetlost.
Napravio sam ovu simulaciju u Proteusu 8.6 pro. Potrebne komponente: -1) Arduino uno.
2) 3 LDR.
3) 2 Dc reduktorska motora.4) Jedan servo.5) Tri 1k otpornika.6) jedan H-most l290D7) Jedan prekidač za uključivanje i isključivanje [za promjenu stanja programa]
8) 9v i 5v Battry
Korak 1: Ardunio kod
Arduino kôd je izmijenjen mali -bitni datum 23. veljače 2016.]
Ovaj je kod jako komentiran, ne želim objašnjavati, ali ako vam treba pomoć, slobodno me kontaktirajte na ([email protected])
Napomena: -U ovom programu koristim dva uvjeta 1. za Slijeđenje svjetlosti. 2. drugi za izbjegavanje svjetla.
Koliko su ovi uvjeti zadovoljeni, Robot će slijediti ili izbjegavati svjetlost. [Ovo je minimalna vrijednost LDR -a koju odaberem. U normalnom svjetlu njegov je raspon od 80 do 95, ali kako se njegov intenzitet povećava sve više i više napona induciranih kroz njega dok radi na principu razdjelnika napona int a = 400; // Tolerance Value]
Korak 2: Proteusove datoteke
Za Arduino knjižnicu preuzmite s te veze
Korak 3: Kako funkcionira vaš H-most?
L293NE/SN754410 vrlo je jednostavan H-most. Ima dva mosta, jedan s lijeve strane čipa i jedan s desne, te može upravljati s 2 motora. Može pokretati do 1 amper struje i raditi između 4,5V i 36V. Mali istosmjerni motor koji koristite u ovom laboratoriju može sigurno raditi pri niskom naponu pa će ovaj H-most raditi sasvim u redu. H-most ima sljedeće pinove i značajke: Pin 1 (1, 2EN) omogućuje i onemogućuje naš motor bez obzira daje li HIGH ili LOWPin 2 (1A) je logički pin za naš motor (ulaz je VISOKI ili NISKI) Pin 3 (1Y) je za jedan od stezaljki motora Pin 4-5 su za uzemljenje Pin 6 (2Y) je za drugi terminal motora Pin 7 (2A) je logički pin za naš motor (ulaz je VISI ili NISKI) Pin 8 (VCC2) je izvor napajanja za naš motor, treba uzeti u obzir nazivni napon vašeg motora. Pin 9-11 su nepovezani jer koristite samo jedan motor u ovom laboratoriju. spojen na 5V. Gore je dijagram H-mosta i koji pinovi rade što u našem primjeru. S dijagramom je tablica istinitosti koja pokazuje kako će motor funkcionirati prema stanju logičkih pinova (koje je postavio naš Arduino).
U ovom projektu pin za omogućavanje spaja se na digitalni pin na vašem Arduinu tako da ga možete poslati VISOKO ili NISKO i uključiti ili isključiti motor. Logički pinovi motora također su povezani s označenim digitalnim pinovima na vašem Arduinu tako da ih možete poslati VISOKO i NIZKO kako bi se motor okrenuo u jednom smjeru, ili NISKO i VISOKO da bi se okrenuo u drugom smjeru. Napon napajanja motora povezuje se s izvorom napona za motor, koji je obično vanjsko napajanje. Ako vaš motor može raditi na 5V i manje od 500mA, možete koristiti Arduino 5V izlaz. Većina motora zahtijeva veći napon i veće izvlačenje struje od ovoga, pa će vam trebati vanjsko napajanje.
Priključite motor na H-most Povežite motor na H-most kao što je prikazano na slici 2.
Ili, ako za Arduino koristite vanjsko napajanje, možete upotrijebiti Vin pin.
Korak 4: Kako LDR radi
Prva stvar koja bi mogla zahtijevati dodatno objašnjenje je upotreba otpornika ovisnih o svjetlu. Otpornici ovisni o svjetlosti (ili LDR -ovi) su otpornici čija se vrijednost mijenja ovisno o količini svjetla u okruženju, ali kako možemo otkriti otpor s Arduinom? Pa ne možete stvarno, međutim možete otkriti razine napona pomoću analognih pinova, koji mogu mjeriti (u osnovnoj uporabi) između 0-5V. Sada se možda pitate "Pa kako pretvorimo vrijednosti otpora u promjene napona?", Jednostavno je, napravimo razdjelnik napona. Razdjelnik napona prima napon, a zatim daje dio tog napona proporcionalan ulaznom naponu i omjeru dviju upotrijebljenih vrijednosti otpornika. Jednadžba za koju je:
Izlazni napon = Ulazni napon * (R2 / (R1 + R2)) Gdje je R1 vrijednost prvog otpornika, a R2 vrijednost drugog.
Ovo i dalje postavlja pitanje "Ali koje vrijednosti otpora ima LDR?", Dobro pitanje. Što je manja količina ambijentalnog svjetla veći je otpor, više ambijentalnog svjetla znači manji otpor. Za određene LDR -ove koristio sam njihov raspon otpora od 200 - 10 kilo ohma, ali to se mijenja za različite, pa svakako potražite odakle ste ih kupili i pokušajte pronaći podatkovnu tablicu ili nešto slično. Sada u ovom slučaj R1 je zapravo naš LDR, pa vratimo tu jednadžbu i napravimo malo matematičke e-magije (matematičke električne magije). Sada prvo moramo pretvoriti te kilo ohmske vrijednosti u ohme: 200 kilo-ohma = 200, 000 ohma 10 kilo-ohmi = 10, 000 ohmaDa bismo saznali koliki je izlazni napon kada smo u mrklom mraku, priključujemo sljedeće brojeve: 5 * (10000 / (200000 + 10000)) Ulaz je 5V jer to dobivamo iz Arduina. Gore navedeno daje 0,24 V (zaokruženo). Sada pomoću sljedećih brojeva utvrđujemo koliki je izlazni napon u vršnoj svjetlini: 5 * (10000 / (10000 + 10000)) I to nam daje točno 2,5 V. Ovo su vrijednosti napona koje ćemo unijeti u analogne pinove Arduina, ali to nisu vrijednosti koje će se vidjeti u programu, "Ali zašto?" možete pitati. Arduino koristi analogno -digitalni čip koji pretvara analogni napon u upotrebljive digitalne podatke. Za razliku od digitalnih pinova na Arduinu koji mogu čitati samo VISO ili NISKO stanje od 0 i 5 V, analogni pinovi mogu čitati od 0-5 V i pretvoriti to u brojčani raspon od 0-1023. Sada uz još malo matematičke e-magije. možemo zapravo izračunati koje će vrijednosti Arduino očitati.
Budući da će to biti linearna funkcija, možemo koristiti sljedeću formulu: Y = mX + C Gdje; Y = Digitalna vrijednost Gdje; m = nagib, (uspon / hod), (digitalna vrijednost / analogna vrijednost) Gdje; C = Y presretanje Y presretanje Y je 0 pa nam daje: Y = mXm = 1023 /5 = 204.6Dakle: digitalna vrijednost = 204,6 * analogna vrijednost Dakle, u crnoj toni digitalna vrijednost bit će: 204,6 * 0,24 Što daje približno 49. I pri najvećoj svjetlini bit će: 204,6 * 2,5 Što daje otprilike 511. Sada s dvije od ovih postavljenih na dva analogna pina možemo stvoriti dvije cjelobrojne varijable za pohranjivanje njihovih vrijednosti dvije i napraviti usporedbene operatore da vidimo koja ima najnižu vrijednost, okrećući robota u tom smjeru.
Preporučeni:
Kako napraviti robota koji izbjegava rubove na Arduinu: 4 koraka
Kako napraviti robota koji izbjegava ivice na Arduinu: Napravimo potpuno autonomnog robota koristeći Arduino i IR senzore. Istražuje površinu stola bez pada. Za više informacija pogledajte video
Sat baziran na Arduinu koji koristi DS1307 modul sata u stvarnom vremenu (RTC) i 0,96: 5 koraka
Arduino sat sa DS1307 modulom sata u realnom vremenu (RTC) i 0.96: Zdravo dečki, u ovom ćemo vodiču vidjeti kako napraviti radni sat pomoću modula sata realnog vremena DS1307 & OLED displeji. Dakle, očitavat ćemo vrijeme iz modula sata DS1307. I ispišite ga na OLED ekranu
Portreti uživo temeljeni na IOT -u: 16 koraka
Portreti uživo temeljeni na IOT -u: Pozdrav svijetu, Otkad smo saznali za ovaj IOT natječaj o kojem razmišljamo, razmišljamo i razmišljamo, došli smo na ideju da napravimo portret koji je zapravo u pokretu. Ovaj portret je jako cool jer kad god netko uđe u vaš dom, on/š
PCB -ovi temeljeni na pregledniku: 7 koraka
PCB -ovi temeljeni na pregledniku: Dok preuzimate ili stvarate projekte, neki će biti laki, a neki teški. Neki će biti jednokratni, a drugi će se morati napraviti opsežno. U ovom zapisu istraživat ćemo moj najveći projekt do sada, Distributed Symphony i kako mikrofon
SAMOZAPORNOSTI KOJE IZBJEGAVAJU ROBOT: 5 koraka (sa slikama)
SAMOPREČNOSTI KOJE IZBJEGAVAJU ROBOT: OVO JE OSBTISKALNO AVODIRANJE ROBOTA KOJE SE STVARA U SAMO 5 LAGANIH I MALIH KORAKAOvo bi vas moglo koštati 10 do 20 dolara ili manje