Sadržaj:

Kontrola svjetline, Arduino (s animacijama): 7 koraka
Kontrola svjetline, Arduino (s animacijama): 7 koraka

Video: Kontrola svjetline, Arduino (s animacijama): 7 koraka

Video: Kontrola svjetline, Arduino (s animacijama): 7 koraka
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Juli
Anonim
Image
Image

U posljednjih nekoliko godina izgradio sam dvije fliper mašine (pinballdesign.com) i dvije glave robota (grahamasker.com) koje kontroliše Arduinos. Pošto sam imao karijeru mašinskog inženjera, dobro sam sa dizajnom mehanizama, međutim borim se sa programiranjem. Odlučio sam stvoriti animacije kako bih ilustrirao neke od osnovnih koncepata Arduina. Mislio sam da će to pomoći meni i drugima da ih razumijemo. Slika vrijedi hiljadu riječi, a animacija može biti hiljadu slika!

Dakle, evo animiranog objašnjenja na temu Kontrola svjetline. Gornja animacija prikazuje shemu potenciometra spojenog na Arduino. Pokazuje kako se podešavanjem položaja potenciometra može promijeniti svjetlina LED diode. Objasnit ću sve elemente ovog procesa. Za sve koji nisu upoznati s potenciometrima i LED diodama, počet ću s njima. Zatim ću objasniti zašto LED mora biti povezan na Arduino pin s omogućenim PWM -om i kako se MAP funkcija koristi unutar Arduino skice za pretvaranje ulaza s potenciometra u izlaz koji je pogodan za upravljanje LED diodama.

Ako ste upoznati sa LED diodama i potenciometrima, možete preskočiti odjeljke 1 i 2.

Korak 1: O LED diodama

O LED diodama
O LED diodama

Na gornjoj lijevoj ilustraciji prikazan je simbol kola za LED diodu i polaritet LED nogu. Struja će teći kroz LED samo u jednom smjeru pa je polaritet važan. Duža noga je pozitivna. Prirubnica također ima ravnu stranu, to je negativna strana.

NAPON I STRUJA

Napon potreban za LED diodu kreće se od oko 2,2v do 3,2 volta ovisno o boji. Njihova trenutna snaga je obično 20mA. Kako bi se ograničila struja i spriječilo pregrijavanje LED diode, potrebno je koristiti otpornik uzastopno sa svakom LED diodom. Preporučujem oko 300 ohma.

Ilustracija desno gore prikazuje način lemljenja otpornika na nogu LED -a i njegovu izolaciju termoskupljajućom navlakom.

Korak 2: POTENTIOMETAR

POTENTIOMETER
POTENTIOMETER

Arduino izrazom potenciometar je senzor. "Senzor" se odnosi na bilo koji vanjski uređaj koji Arduino može osjetiti kada je spojen na ulazne pinove. Koristit ćemo potenciometar spojen na Arduino za kontrolu svjetline LED diode. Potenciometar se ponekad naziva i razdjelnik napona, što mislim da je bolji opis. Dijagram s lijeve strane prikazuje princip razdjelnika napona. U ovom primjeru, otpornik je spojen na masu na jednom kraju i držan nekim izvorom napajanja na 5v na drugom kraju. Ako se klizač pomakne duž otpornika, bit će na naponu od 0v na lijevoj strani, 5v na desnoj strani. U bilo kojem drugom položaju bit će na vrijednosti između 0v i 5v. Na pola puta, na primjer, bit će na 2.5V. Ako preoblikujemo raspored kao što je prikazano gore desno, to predstavlja djelovanje rotirajućeg potenciometra.

Korak 3: KRUG

KRUG
KRUG

Ilustracija gore prikazuje kako moramo povezati potenciometar i vod sa Arduinom.

Ardunio mora osjetiti napon koji na njega dovodi potenciometar. Napon se glatko mijenja pri okretanju potenciometra, stoga je analogni signal i stoga ga je potrebno spojiti na analogni ulazni pin na Arduinu. Arduino će očitati napon na ovom pinu svaki put kada ga program zatraži putem funkcije “analogRead”.

Arduino ima samo digitalne izlazne pinove. Međutim, ti pinovi sa tildom (~) pored sebe simuliraju analogni izlaz koji je pogodan za kontrolu svjetline LED -a. Ovaj proces se naziva Pulse Width Modulation (PWM) i objašnjen je kroz sljedeću animaciju, korak 4.

Korak 4: PWM

PWM, Pulse Width Modulation

Kao što je ranije spomenuto, igle s tildom, "~" pored njih su PWM igle. Budući da su pinovi digitalni, mogu biti samo na 0v ili 5v, međutim s PWM -om se mogu koristiti za prigušivanje LED diode ili kontrolu brzine motora. To čine napajanjem 5v LED -om, ali pulsiranjem između 0v i 5v pri 500 Hz (500 puta u sekundi) i rastezanjem ili smanjenjem trajanja svakog elementa od 0v i 5v impulsa. Kako LED vidi duži impuls od 5 V od impulsa od 0 V, tada postaje svjetliji. U našem programu koristimo funkciju analogueWrite () za izlaz PWM „kvadratnog vala“. Ima 256 koraka, nula daje 0% radni ciklus i 255 daje 100% "radni ciklus", tj. Kontinuiranih 5 volti. Tako 127 daje 50% radni ciklus, pola vremena na 0v i pola vremena na 5v. Gornja animacija prikazuje kako se ovaj radni ciklus rasteže prema 100% tada LED dioda postaje svjetlija.

Korak 5: PROGRAM (ARDUINO SKIC)

Image
Image

Gornji video zapis prolazi kroz program (skicu) koji se može koristiti za kontrolu svjetline LED diode pomoću potenciometra. Krug je isti kao što je prikazano u koraku 3.

Ako smatrate da je ovaj video zapis brz (ili spor) za ugodno čitanje, možete prilagoditi njegovu brzinu Na desnom kraju donje kontrolne trake nalazi se simbol u obliku zupčanika (ponekad s crvenom oznakom "HD" na njemu).) Ako se pritisne, otvorit će se izbornik koji uključuje "brzinu reprodukcije".

Bilo bi, naravno, bolje da možete pritisnuti dugme da korakom prođete kroz svaku liniju programa, međutim nažalost tu interaktivnu metodu nije moguće pružiti. Ako biste radije koristili tu metodu na ovu temu i mnoge druge Arduino teme, onda je besplatna pretpregledna verzija interaktivne/animirane e -knjige dostupna na animatedarduino.com

Postoji jedna značajka u programu za koju mislim da treba dodatno objašnjenje: na liniji14 koristi se funkcija "mapa". Sljedeće, u koraku 6, postoji objašnjenje njegove svrhe

Korak 6: MAPA

Potenciometar imamo spojen na analogni pin. Napon potenciometra varira između 0v i 5v. Ovaj raspon je registriran u procesoru u 1024 koraka. Kada se ulazna vrijednost koristi za kreiranje izlaza putem PWM omogućenog digitalnog pina, ovaj raspon se mora mapirati u izlazni raspon digitalnog pina. Ovo ima 255 koraka. U tu svrhu koristi se funkcija karte koja daje izlaz proporcionalan ulazu.

Gornji video to ilustrira.

Korak 7: Animirani Arduino

Slike u ovom Instructable -u preuzete su iz moje e -knjige Animated Arduino koja je dostupna na www.animatedarduino.com u kojoj imam za cilj pružiti bolje razumijevanje nekih koncepata na koje smo naišli dok učimo programirati Arduino.

Na web stranici je dostupna besplatna kopija e -knjige u pretpregledu koja vam omogućuje da iskusite interaktivnu prirodu knjige. To je u osnovi zbirka primjera stranica i stoga izostavlja mnoga objašnjenja. Sadrži uzorke stranica koje vam omogućuju da kliknete na dugmad koja vas vode kroz svaki red programa i pregledate povezane komentare. Ostale stranice imaju video animacije i audio sadržaj koji možete kontrolirati. Uključena je stranica sa sadržajem kako biste mogli vidjeti što kompletno izdanje sadrži.

Preporučuje se: