Sadržaj:

Lagani roboti koji slijede i izbjegavaju temeljeni na Arduinu: 5 koraka
Lagani roboti koji slijede i izbjegavaju temeljeni na Arduinu: 5 koraka

Video: Lagani roboti koji slijede i izbjegavaju temeljeni na Arduinu: 5 koraka

Video: Lagani roboti koji slijede i izbjegavaju temeljeni na Arduinu: 5 koraka
Video: Wu Wei - kako živjeti s lakoćom 2024, Studeni
Anonim
Lagani roboti koji slijede i izbjegavaju temeljeni na Arduinu
Lagani roboti koji slijede i izbjegavaju temeljeni na Arduinu

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?

Kako funkcionira vaš H-most?
Kako funkcionira vaš H-most?
Kako funkcionira vaš H-most?
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: