Arduino Due este o placă bazată pe controler ARM, concepută pentru ingineri electronici și pasionați. Arhitectura ARM este foarte influentă în electronica modernă, le folosim peste tot, cum ar fi telefoanele noastre mobile, iPod-urile și computerele etc. Dacă cineva dorește să proiecteze sisteme industriale trebuie să o facă pe controlere ARM. Controlerele ARM sunt foarte importante datorită agilității lor.
Am abordat deja noțiunile de bază ale Arduino Due în Noțiuni introductive despre Arduino Due. Acum, în acest tutorial vom regla luminozitatea unui LED, utilizând semnalul PWM generat de DUE. Un semnal DW PWM (Pulse Width Modulation) oferă o tensiune variabilă peste sursă de alimentare constantă.
Modularea lățimii pulsului:
În figura de mai sus, dacă întrerupătorul este închis continuu pe o perioadă de timp, LED-ul va fi aprins în acest timp continuu. Dacă comutatorul este închis pentru jumătate de secundă și deschis pentru jumătatea următoarei secunde, atunci LED-ul va fi aprins numai în prima jumătate de secundă. Acum, proporția pentru care LED-ul este aprins în timpul total se numește ciclul de funcționare și poate fi calculată după cum urmează:
Ciclul de funcționare = Timp de pornire / (Timp de pornire + Timp de oprire)
Ciclul de funcționare = (0,5 / (0,5 + 0,5)) = 50%
Deci, tensiunea medie de ieșire va fi de 50% din tensiunea bateriei.
Acesta este cazul pentru o secundă și putem vedea LED-ul stins timp de jumătate de secundă și LED-ul aprins în cealaltă jumătate de secundă. Dacă Frecvența timpilor de PORNIT și OPRIT a crescut de la „1 pe secundă” la „50 pe secundă”. Ochiul uman nu poate capta această frecvență de ON și OFF. Pentru un ochi normal, LED-ul va fi văzut, ca strălucitor cu jumătate din luminozitate. Deci, cu o reducere suplimentară a timpului de pornire, LED-ul apare mult mai ușor.
Vom programa DUE pentru obținerea unui PWM și vom conecta un LED pentru a arăta funcționarea acestuia.
Există 12 canale PWM (pinul 2 la pinul 13) în DUE și le putem utiliza pe oricare sau pe toate. În acest caz, vom rămâne la un semnal PWM la PIN2.
Componente:
- Arduino Due
- Alimentare (5v)
- LED
- Butoane (două piese),
- Rezistor 1KΩ (două bucăți), rezistor 220Ω
Și Arduino IDE - Arduino Nightly Software (https://www.arduino.cc/en/Main/Software).
Diagrama circuitului și explicația de lucru:
Circuitul este conectat pe panou conform schemei de circuite. Cu toate acestea, trebuie să acordați atenție în timpul conectării terminalelor LED. Deși butoanele pot arăta efect de ricoșare, dar în acest caz nu provoacă erori considerabile, deci nu trebuie să ne facem griji de data aceasta.
Obținerea unui semnal PWM de la DUE este ușoară; Arduino IDE oferă funcții utile care ușurează dificultatea programatorului. Dacă mergem pentru programarea cipurilor goale, trebuie să configurăm un controler ATMEGA pentru semnalul PWM, ceea ce nu este ușor; trebuie să definim multe registre și setări pentru un semnal precis, totuși în Arduino nu trebuie să ne ocupăm de toate aceste lucruri. Am acoperit deja Modulația lățimii impulsurilor cu ATmega32, cu Arduino Uno și cu IC timer 555.
În mod implicit, toate fișierele și registrele antet sunt predefinite de Arduino IDE, trebuie pur și simplu să le apelăm și gata, vom avea o ieșire PWM la pinul corespunzător. De asemenea, trebuie să apelăm anumite comenzi pentru a obține un semnal PWM, acestea sunt discutate mai jos:
pinMode (2, OUTPUT) analogWrite (pin, valoare)
Mai întâi trebuie să alegem canalul de ieșire PWM sau să selectăm un pin din 12 pini DUE, după care trebuie să setăm acel pin ca ieșire. Deoarece folosim PIN2 ca ieșire, îl vom seta ca IEȘIRE așa cum se arată în prima linie.
Apoi, trebuie să activăm caracteristica PWM a DUE apelând funcția „ analogWrite (pin, valoare) ”. Aici „pin” reprezintă numărul pinului în care avem nevoie de ieșire PWM. Îl punem ca „2”, deci la PIN2 obținem ieșire PWM. „Valoare” este valoarea PORNIT, variază între 0 (întotdeauna oprit) și 255 (întotdeauna activat). Putem scrie valoarea corespunzătoare în acest spațiu pentru luminozitatea necesară a LED-ului.
Am atașat câteva butoane la placa DUE pentru a varia această valoare. Un buton este pentru creșterea valorii luminozității și altul este pentru scăderea valorii luminozității. Odată ce programul Due este terminat, putem regla luminozitatea apăsând aceste butoane.