Kazalo:

Robot, ki sledi svetlobi in se ji izogiba, temelji na Arduinu: 5 korakov
Robot, ki sledi svetlobi in se ji izogiba, temelji na Arduinu: 5 korakov

Video: Robot, ki sledi svetlobi in se ji izogiba, temelji na Arduinu: 5 korakov

Video: Robot, ki sledi svetlobi in se ji izogiba, temelji na Arduinu: 5 korakov
Video: Высокая плотность 2022 2024, Julij
Anonim
Lahek robot, ki temelji na Arduinu in se mu izogiba
Lahek robot, ki temelji na Arduinu in se mu izogiba

To je preprost projekt, ki sledi svetlobi ali se ji izogibaj.

To simulacijo sem naredil v Proteusu 8.6 pro. Potrebne komponente: -1) Arduino uno.

2) 3 LDR.

3) 2 Dc gonila 4) En servo 5) Trije 1k upori 6) en H-most l290D7) Eno stikalo za vklop in izklop [za spreminjanje pogojev programa]

8) 9v in 5v Battry

1. korak: Ardunio koda

Koda Arduino je bila spremenjena z majhnim bitnim datumom 23. februar 2016]

Ta koda je zelo komentirana, ne želim razlagati, če pa potrebujete pomoč, me lahko kontaktirate na ([email protected])

Opomba: -V tem programu uporabljam dva pogoja 1. za sledenje svetlobi. 2. in enega za izogibanje svetlobi.

Kolikor so ti pogoji izpolnjeni, bo Robot sledil svetlobi ali se ji izogibal. [To je najmanjša vrednost LDR, ki jo izberem. Pri normalni svetlobi je njegov razpon od 80 do 95, a ko se njegova intenzivnost povečuje, se med delovanjem na principu delilnika napetosti int a = 400 pojavlja vedno več napetosti, ki jih povzroča. // Tolerančna vrednost]

Korak: Proteusove datoteke

Za Arduino knjižnico prenesite s te povezave

3. korak: Kako deluje vaš H-most?

Kako deluje vaš H-most
Kako deluje vaš H-most
Kako deluje vaš H-most?
Kako deluje vaš H-most?

L293NE/SN754410 je zelo osnovni H-most. Ima dva mostova, enega na levi strani čipa in enega na desni, in lahko upravlja 2 motorja. Lahko poganja do 1 amp toka in deluje med 4,5V in 36V. Majhen enosmerni motor, ki ga uporabljate v tem laboratoriju, lahko varno deluje pri nizki napetosti, zato bo ta H-most deloval v redu. H-most ima naslednje zatiče in funkcije: Pin 1 (1, 2EN) omogoča in onemogoča naš motor, ne glede na to, ali je VEČ ali NIZKIN 2 (1A) je logični zatič za naš motor (vnos je VISOK ali NIZK) 3 (1Y) je za enega od sponk motorja Pin 4-5 sta za ozemljitev Pin 6 (2Y) je za drugi terminal motorja Pin 7 (2A) je logični zatič za naš motor (vnos je VISAK ali NIZK) Pin 8 (VCC2) je napajalnik za naš motor, pri čemer je treba upoštevati nazivno napetost vašega motorja Pin 9-11 je brez povezave, saj v tem laboratoriju uporabljate samo en motor Pin 12-13 je za ozemljitev Pin 14-15 je nepovezan Pin 16 (VCC1) je priključen na 5V. Zgoraj je diagram H-mostu in kateri zatiči kaj počnejo v našem primeru. Z diagramom je vključena tabela resničnosti, ki prikazuje, kako bo motor deloval glede na stanje logičnih zatičev (ki jih nastavi naš Arduino).

V tem projektu se pin za omogočanje poveže z digitalnim zatičem na vašem Arduinu, tako da ga lahko pošljete VISOKO ali NIZKO in vklopite ali izklopite motor. Logični zatiči motorja so povezani tudi z določenimi digitalnimi zatiči na vašem Arduinu, tako da jih lahko pošljete VISOKO in NIZKO, da se motor obrne v eno smer, ali NIZKO in VISOKO, da se obrne v drugo smer. Napajalna napetost motorja se priključi na vir napetosti motorja, ki je običajno zunanji napajalnik. Če lahko vaš motor deluje na 5V in manj kot 500mA, lahko uporabite 5V izhod Arduina. Večina motorjev potrebuje višjo napetost in večji tok, zato boste potrebovali zunanji napajalnik.

Priključite motor na H-most Priključite motor na H-most, kot je prikazano na 2. sliki.

Ali pa, če za Arduino uporabljate zunanji napajalnik, lahko uporabite pin Pin.

4. korak: Kako deluje LDR

Prva stvar, ki bi morda potrebovala dodatno razlago, je uporaba uporov, odvisnih od svetlobe. Svetlobno odvisni upori (ali LDR -ji) so upori, katerih vrednost se spreminja glede na količino zunanje svetlobe, toda kako lahko zaznamo upor z Arduinom? No, v resnici ne morete, vendar lahko z analognimi zatiči zaznate napetostne ravni, ki lahko (pri osnovni uporabi) merijo med 0-5V. Zdaj se morda sprašujete »No, kako pretvorimo vrednosti upora v spremembe napetosti?«, Preprosto je, naredimo delilec napetosti. Delitelj napetosti sprejme napetost in nato odda del te napetosti, sorazmeren z vhodno napetostjo in razmerjem med dvema uporabljenima uporoma. Enačba za katero je:

Izhodna napetost = Vhodna napetost * (R2 / (R1 + R2)) Kjer je R1 vrednost prvega upora in R2 vrednost drugega.

Tu se še vedno poraja vprašanje "Toda kakšne vrednosti upora ima LDR?", Dobro vprašanje. Manjša količina zunanje svetlobe, večji je upor, več svetlobe v okolici pomeni manjši upor. Za posamezne LDR sem uporabil njihov odporni razpon od 200 - 10 kilo ohmov, vendar se to pri različnih spreminja, zato poiščite, kje ste jih kupili, in poskusite najti podatkovni list ali kaj podobnega. primer R1 je pravzaprav naš LDR, zato vrnimo to enačbo in naredimo nekaj matematično-e-magije (matematična električna magija). Zdaj moramo te vrednosti kilo ohmov pretvoriti v ohme: 200 kilo-ohmov = 200, 000 ohmov 10 kilo-ohmi = 10, 000 ohmov Torej, da ugotovimo, kakšna je izhodna napetost, ko smo v črni barvi, priključimo naslednje številke: 5 * (10000 / (200000 + 10000)) Vhod je 5V, saj to dobimo iz Arduina. Zgornje daje 0,24 V (zaokroženo). Zdaj z naslednjimi številkami ugotovimo, kakšna je izhodna napetost v največji svetlosti: 5 * (10000 / (10000 + 10000)) In to nam daje točno 2,5 V. To so torej vrednosti napetosti, ki jih bomo dobili v analognih zatičih Arduina, vendar to niso vrednosti, ki bodo prikazane v programu, "Toda zakaj?" se lahko vprašate. Arduino uporablja analogno -digitalni čip, ki analogno napetost pretvori v uporabne digitalne podatke. Za razliko od digitalnih zatičev na Arduinu, ki lahko berejo le stanje VISKOST ali NIZKOST pri 0 in 5 V, lahko analogni zatiči berejo od 0-5 V in to pretvorijo v številčno območje 0-1023. Zdaj pa še nekaj matematike in e-magije. dejansko lahko izračunamo, katere vrednosti bo Arduino dejansko prebral.

Ker bo to linearna funkcija, lahko uporabimo naslednjo formulo: Y = mX + C Kje; Y = Digitalna vrednost Kje; m = naklon, (dvig / tek), (digitalna vrednost / analogna vrednost) Kje; C = Y prestrezanje Y prestrezanje je 0, tako da dobimo: Y = mXm = 1023 /5 = 204,6 Zato: digitalna vrednost = 204,6 * analogna vrednost Tako bo v črni barvi digitalna vrednost: 204,6 * 0,24 Kar daje približno 49. In pri največji svetlosti bo: 204,6 * 2,5 Kar daje približno 511. Zdaj z dvema od teh, nastavljenimi na dveh analognih zatičih, lahko ustvarimo dve celobrojni spremenljivki, da shranimo dve vrednosti in naredimo primerjalne operaterje, da vidimo, katera ima najnižjo vrednost, obračanje robota v to smer.

Priporočena: