Cuprins:

Controlul luminozității, Arduino (cu animații): 7 pași
Controlul luminozității, Arduino (cu animații): 7 pași

Video: Controlul luminozității, Arduino (cu animații): 7 pași

Video: Controlul luminozității, Arduino (cu animații): 7 pași
Video: Masina 4x4 Omniwheels cu Micro:bit - Instructiuni pentru Motoare 2024, Iulie
Anonim
Image
Image

În ultimii ani am construit două mașini de pinball (pinballdesign.com) și două capete de robot (grahamasker.com) controlate fiecare de Arduinos. Având o carieră de inginer mecanic, sunt bine cu proiectarea mecanismelor, cu toate acestea mă lupt cu programarea. Am decis să creez animații pentru a ilustra câteva dintre conceptele de bază ale Arduino. Am crezut că mă va ajuta pe mine și pe ceilalți să le înțelegem. O imagine valorează o mie de cuvinte, iar o animație poate fi o mie de cuvinte!

Iată deci o explicație animată cu privire la subiectul Controlului luminozității. Animația de mai sus arată o schemă a unui potențiometru conectat la un Arduino. Arată modul în care reglarea poziției potențiometrului poate modifica luminozitatea unui led. Voi explica toate elementele acestui proces. Pentru oricine nu este familiarizat cu potențiometre și leduri, voi începe cu acestea. Voi explica apoi de ce ledul trebuie conectat la un pin Arduino activat PWM și cum este utilizată funcția MAP într-o schiță Arduino pentru a converti intrarea de la potențiometru la o ieșire care este potrivită pentru controlul unui led.

Dacă sunteți familiarizați cu leduri și potențiometre, puteți sări peste secțiunile 1 și 2.

Pasul 1: DESPRE LED-uri

DESPRE LED-uri
DESPRE LED-uri

Ilustrația din stânga de mai sus arată simbolul circuitului pentru un led și polaritatea picioarelor led. Curentul va circula doar printr-un LED într-o singură direcție, astfel încât polaritatea este importantă. Piciorul mai lung este pozitiv. De asemenea, există o latură plană a flanșei, aceasta este partea negativă.

TENSIUNE și CURENT

Tensiunea necesară unui LED variază de la aproximativ 2,2 v la 3,2 volți, în funcție de culoarea sa. Evaluarea lor actuală este de obicei 20mA. Pentru a restricționa curentul și a preveni supraîncălzirea LED-ului, este necesar să folosiți un rezistor în serie cu fiecare LED. Recomand aproximativ 300 ohmi.

Ilustrația din dreapta de mai sus arată o modalitate de lipire a unui rezistor la un picior al unui led și izolarea acestuia cu manșon termocontractabil.

Pasul 2: POTENȚIOMETRU

POTENȚIOMETRU
POTENȚIOMETRU

În termeni Arduino, un potențiometru este un senzor. „Senzor” se referă la orice dispozitiv extern care, atunci când este conectat la pinii de intrare, poate fi detectat de Arduino. Vom folosi un potențiometru conectat la Arduino, pentru a controla luminozitatea unui LED. Un potențiometru este uneori numit divizor de tensiune, ceea ce cred că este o descriere mai bună. Diagrama din stânga sus indică principiul unui divizor de tensiune. În acest exemplu, un rezistor este conectat la masă la un capăt și ținut, de o sursă de alimentare la 5v la celălalt capăt. Dacă un glisor este deplasat de-a lungul rezistorului, acesta va fi la o tensiune de 0v la capătul din stânga, 5v la capătul din dreapta. În orice altă poziție va avea o valoare cuprinsă între 0v și 5v. La jumătatea drumului, de exemplu, va fi la 2,5V. Dacă remodelăm aranjamentul așa cum se arată în dreapta de mai sus, atunci acesta reprezintă acțiunea unui potențiometru rotativ.

Pasul 3: CIRCUITUL

CIRCUITUL
CIRCUITUL

Ilustrația de mai sus arată cum trebuie să conectăm potențiometrul și ledul la un Arduino.

Ardunio trebuie să simtă tensiunea care îi este alimentată de potențiometru. Tensiunea se modifică ușor pe măsură ce potențiometrul este rotit, este astfel un semnal analog și, prin urmare, trebuie conectat la un pin de intrare analogic pe Arduino. Tensiunea de pe acest pin va fi citită de Arduino de fiecare dată când programul o solicită prin funcția „analogRead”.

Arduino are doar pini de ieșire digitale. Cu toate acestea, acei pini cu tilde (~) alături simulează o ieșire analogică care este potrivită pentru a controla luminozitatea unui Led. Acest proces se numește Modularea lățimii pulsului (PWM) și este explicat prin următoarea animație, Pasul 4.

Pasul 4: PWM

PWM, Modular Width Width

Așa cum am menționat anterior, pinii cu un tilda, „~“lângă ei, sunt pinii PWM. Deoarece pinii sunt digitali, aceștia pot fi doar la 0v sau 5v, totuși cu PWM pot fi folosiți pentru estomparea unui LED sau pentru a controla viteza unui motor. Acestea fac acest lucru furnizând 5v la un LED, dar pulsându-l între 0v și 5v la 500 Hz (de 500 de ori pe secundă) și întinzând sau micșorând durata fiecărui element de 0v și 5v al impulsului. Pe măsură ce LED-ul vede un impuls de 5v mai lung decât un impuls de 0v, acesta devine mai luminos. În programul nostru, folosim funcția analogueWrite () pentru a emite o „undă pătrată” PWM. Are 256 de trepte, zero oferind un ciclu de funcționare de 0% și 255 oferind 100% „ciclu de funcționare”, adică continuu 5 volți. Astfel 127 ar da un ciclu de funcționare de 50%, jumătate din timp la 0v și jumătate din timp la 5v. Animația de mai sus arată cum pe măsură ce acest ciclu de funcționare este întins spre 100%, atunci ledul devine mai luminos.

Pasul 5: PROGRAMUL (ARDUINO SKETCH)

Image
Image

Videoclipul de mai sus trece printr-un program (schiță) care poate fi utilizat pentru a controla luminozitatea unui led folosind un potențiometru. Circuitul este același cu cel prezentat la pasul 3.

Dacă găsiți acest videoclip rapid (sau lent) pentru a citi confortabil, atunci puteți regla viteza. La capătul din dreapta al barei de control inferioare este un simbol în formă de roată dințată (uneori cu o etichetă roșie „HD” pe el.) Dacă faceți clic, va apărea un meniu care include „viteza de redare”.

Bineînțeles, ar fi mai bine dacă ați putea face clic pe un buton pentru a parcurge fiecare linie a programului la viteza proprie, totuși, din păcate, nu este posibil să furnizați acea metodă interactivă aici. Dacă preferați să utilizați această metodă pe acest subiect și multe alte subiecte Arduino, atunci există o versiune gratuită de previzualizare a unei cărți electronice interactive / animate disponibile la animatedarduino.com

Există o caracteristică în program care cred că are nevoie de mai multe explicații: pe linia 14 este utilizată funcția „hartă”. Urmează o explicație cu privire la scopul său, la pasul 6

Pasul 6: MAP

Avem potențiometrul conectat la un pin analogic. Tensiunea potențiometrului variază între 0v și 5v. Această gamă este înregistrată în procesor în trepte de 1024. Când valoarea de intrare este utilizată pentru a crea o ieșire printr-un pin digital activat PWM, acest interval trebuie să fie mapat la intervalul de ieșire al unui pin digital. Aceasta are 255 de pași. Funcția de hartă este utilizată în acest scop și oferă o ieșire care este proporțională cu intrarea.

Videoclipul de mai sus ilustrează acest lucru.

Pasul 7: Arduino animat

Imaginile din acest Instructable au fost preluate de pe cartea mea electronică Animated Arduino, care este disponibilă pe www.animatedarduino.com, în care îmi propun să înțeleg mai bine unele dintre conceptele întâlnite în timp ce învăț să programez Arduino.

Există o copie gratuită de previzualizare a cărții electronice disponibilă pe site, care vă permite să experimentați natura interactivă a cărții. Este practic o colecție de exemple de pagini și astfel omite o mulțime de explicații. Acesta include exemple de pagini care vă permit să faceți clic pe butoane care vă trec prin fiecare linie a unui program și să vizualizați comentariile aferente. Alte pagini au animații video și conținut audio pe care le puteți controla. Este inclusă o pagină de conținut pentru a vedea ce conține ediția completă.

Recomandat: