Kazalo:

Nadzor svetlosti, Arduino (z animacijami): 7 korakov
Nadzor svetlosti, Arduino (z animacijami): 7 korakov

Video: Nadzor svetlosti, Arduino (z animacijami): 7 korakov

Video: Nadzor svetlosti, Arduino (z animacijami): 7 korakov
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, November
Anonim
Image
Image

V zadnjih nekaj letih sem izdelal dva fliperja (pinballdesign.com) in dve robotski glavi (grahamasker.com), ki ju upravlja vsak Arduinos. Ker sem delal kot inženir strojništva, se z načrtovanjem mehanizmov v redu ukvarjam, kljub temu pa se borim s programiranjem. Odločil sem se ustvariti animacije za ponazoritev nekaterih osnovnih konceptov Arduina. Mislil sem, da bo to pomagalo meni in drugim, da jih razumemo. Slika je vredna tisoč besed, animacija pa je lahko tisoč slik!

Torej, tukaj je animirana razlaga na temo Nadzor svetlosti. Zgornja animacija prikazuje shemo potenciometra, priključenega na Arduino. Prikazuje, kako lahko prilagoditev položaja potenciometra spremeni svetlost LED. Razložil bom vse elemente tega procesa. Za vse, ki ne poznate potenciometrov in LED diod, bom začel s temi. Nato bom razložil, zakaj je treba LED priključiti na pin Arduino, ki podpira PWM, in kako se funkcija MAP uporablja v skici Arduino za pretvorbo vhoda iz potenciometra v izhod, ki je primeren za krmiljenje LED.

Če ste seznanjeni z LED diodami in potenciometri, lahko preskočite oddelka 1 in 2.

1. korak: O LED diodah

O LED diodah
O LED diodah

Zgornja leva slika prikazuje simbol vezja za LED in polarnost vodilnih nog. Tok bo tekel le skozi LED v eno smer, zato je pomembna polarnost. Daljša noga je pozitivna. Prirobnica ima tudi ravno stran, to je negativna stran.

NAPETOST in TOK

Napetost, ki jo potrebuje LED, se giblje od približno 2,2 do 3,2 volta, odvisno od njene barve. Njihova trenutna moč je običajno 20 mA. Da bi omejili tok in preprečili pregrevanje LED, je treba za vsako LED uporabiti zaporedno upor. Priporočam približno 300 ohmov.

Ilustracija na desni zgoraj prikazuje način spajkanja upora na nogo LED in ga izolira s toplotno skrčljivo oblogo.

2. korak: POTENTIOMETER

POTENTIOMETER
POTENTIOMETER

V smislu Arduino je potenciometer senzor. "Senzor" se nanaša na katero koli zunanjo napravo, ki jo Arduino zazna, ko je priključena na vhodne zatiče. Za nadzor svetlosti LED bomo uporabili potenciometer, povezan z Arduinom. Potenciometer se včasih imenuje delilnik napetosti, kar se mi zdi boljši opis. Zgornji diagram na levi prikazuje načelo delilnika napetosti. V tem primeru je upor priključen na ozemljitev na enem koncu in ga nek vir napajanja drži na 5v na drugem koncu. Če drsnik premaknete vzdolž upora, bo na napetosti 0v na levem koncu, 5v na desnem koncu. V katerem koli drugem položaju bo vrednost med 0v in 5v. Na pol poti bo na primer pri 2.5V. Če preoblikujemo razporeditev, kot je prikazano na desni zgoraj, potem to predstavlja delovanje rotacijskega potenciometra.

3. korak: VOZILO

VOŽJE
VOŽJE

Zgornja slika prikazuje, kako moramo potenciometer in žico povezati z Arduinom.

Ardunio mora zaznati napetost, ki jo nanj napaja potenciometer. Napetost se pri obračanju potenciometra gladko spreminja, zato je analogni signal, zato ga je treba priključiti na analogni vhodni pin na Arduinu. Arduino bo napetost na tem zatiču prebral vsakič, ko program to zahteva prek funkcije "analogRead".

Arduino ima samo digitalne izhodne zatiče. Vendar ti zatiči s tildo (~) poleg sebe simulirajo analogni izhod, ki je primeren za nadzor svetlosti LED. Ta proces se imenuje Pulse Width Modulation (PWM) in je razložen v naslednji animaciji, 4. koraku.

4. korak: PWM

PWM, pulzna širinska modulacija

Kot smo že omenili, so zatiči s tildo, "~" poleg njih PWM zatiči. Ker so zatiči digitalni, so lahko le pri 0v ali 5v, s PWM pa jih je mogoče uporabiti za zatemnitev LED ali nadzor hitrosti motorja. To storijo tako, da LED napajajo 5V, vendar ga utripajo med 0v in 5v pri 500 Hz (500 -krat na sekundo) in raztezajo ali krčijo trajanje vsakega elementa 0v in 5v impulza. Ker LED vidi daljši 5v impulz kot 0v impulz, postane svetlejši. V našem programu uporabljamo funkcijo analogueWrite () za izhod "kvadratnega vala" PWM. Ima 256 korakov, nič daje 0% obratovalnega cikla in 255 daje 100% "obratovalni cikel", to je neprekinjenih 5 voltov. Tako 127 daje 50% obratovalni cikel, polovico časa pri 0v in polovico časa pri 5v. Zgornja animacija prikazuje, kako se ta delovni cikel raztegne proti 100%, potem LED postane svetlejši.

5. korak: PROGRAM (ARDUINO SKIC)

Image
Image

Zgornji videoposnetek opisuje program (skico), s katerim lahko s pomočjo potenciometra nadzirate svetlost LED diode. Vezje je enako, kot je prikazano v 3. koraku.

Če se vam zdi ta videoposnetek hiter (ali počasen) za udobno branje, lahko prilagodite njegovo hitrost. Na desnem koncu spodnje kontrolne vrstice je simbol v obliki zobnika (včasih z rdečo oznako »HD«).) Če kliknete, se prikaže meni, ki vključuje "hitrost predvajanja".

Seveda bi bilo bolje, če bi lahko pritisnili gumb, da bi s svojo hitrostjo prestopili vsako vrstico programa, vendar na žalost te interaktivne metode tukaj ni mogoče zagotoviti. Če bi radi uporabili to metodo pri tej temi in mnogih drugih temah o Arduinu, je na voljo na spletnem mestu animatedarduino.com brezplačna predogledna različica interaktivne/animirane e -knjige.

Obstaja ena funkcija v programu, za katero menim, da jo je treba dodatno pojasniti: v vrstici 14 se uporablja funkcija "zemljevid". Sledi razlaga o njegovem namenu, v 6. koraku

6. korak: KARTA

Potenciometer imamo priključen na analogni zatič. Napetost potenciometra se giblje med 0v in 5v. To območje je v procesorju registrirano v korakih 1024. Ko se vhodna vrednost uporabi za ustvarjanje izhoda prek digitalnega zatiča, ki podpira PWM, je treba to območje preslikati v izhodno območje digitalnega zatiča. To ima 255 korakov. V ta namen se uporablja funkcija zemljevida in zagotavlja izhod, ki je sorazmeren vhodu.

Zgornji video to ponazarja.

7. korak: Animirani Arduino

Slike v tem navodilu so bile vzete iz moje e -knjige Animated Arduino, ki je na voljo na www.animatedarduino.com, kjer želim bolje razumeti nekatere koncepte, s katerimi se srečujem pri učenju programiranja Arduina.

Na spletnem mestu je na voljo brezplačen predogled e -knjige, ki vam omogoča, da doživite interaktivno naravo knjige. To je v bistvu zbirka vzorčnih strani in tako izpušča veliko razlag. Vključuje vzorčne strani, ki vam omogočajo, da kliknete gumbe, ki vas vodijo skozi vsako vrstico programa, in si ogledate povezane komentarje. Druge strani imajo video animacije in zvočno vsebino, ki jo lahko nadzirate. Vključena je stran z vsebino, da si lahko ogledate, kaj vsebuje celotna izdaja.

Priporočena: