Să ne dăm seama ce se află în spatele acronimului PWM, cum funcționează, la ce servește și cum îl putem folosi în lucrul cu Arduino.
Necesar
- - Arduino;
- - Dioda electro luminiscenta;
- - un rezistor cu o rezistență de 200 Ohm;
- - calculator.
Instrucțiuni
Pasul 1
Pinii digitali Arduino pot da doar două valori: logic 0 (LOW) și logic 1 (HIGH). De aceea sunt digitale. Dar Arduino are concluzii „speciale”, care sunt desemnate PWM. Uneori sunt notate cu o linie ondulată „~” sau înconjurate sau cumva distinse de altele. PWM înseamnă „Modulația lățimii impulsurilor” sau Modulația lățimii impulsurilor, PWM.
Un semnal modulat pe lățimea impulsului este un semnal de impuls cu o frecvență constantă, dar un ciclu de funcționare variabil (raportul dintre durata impulsului și perioada de repetare a acestuia). Datorită faptului că majoritatea proceselor fizice din natură au o oarecare inerție, scăderile puternice de tensiune de la 1 la 0 vor fi netezite, luând o valoare medie. Prin setarea ciclului de funcționare, puteți modifica tensiunea medie la ieșirea PWM.
Dacă ciclul de funcționare este de 100%, atunci tot timpul la ieșirea digitală a Arduino va exista o tensiune logică de "1" sau 5 volți. Dacă setați ciclul de funcționare la 50%, atunci jumătate din timp la ieșire va fi logică „1” și jumătate logică „0”, iar tensiunea medie va fi de 2,5 volți. Și așa mai departe.
În program, ciclul de funcționare este setat nu ca procent, ci ca număr de la 0 la 255. De exemplu, comanda „analogWrite (10, 64)” va spune microcontrolerului să trimită un semnal cu un ciclu de funcționare de 25 % la ieșirea digitală PWM # 10.
Pinii Arduino cu funcția de modulare a lățimii impulsurilor funcționează la o frecvență de aproximativ 500 Hz. Aceasta înseamnă că perioada de repetare a pulsului este de aproximativ 2 milisecunde, care este măsurată de cursele verticale verzi din figură.
Se pare că putem simula un semnal analogic la ieșirea digitală! Interesant, nu?!
Cum putem folosi acest lucru? Există o mulțime de aplicații! De exemplu, acestea sunt controlul luminozității cu LED-uri, controlul vitezei motorului, controlul curentului tranzistorului, extragerea sunetului de la un emițător piezo …
Pasul 2
Să aruncăm o privire la cel mai de bază exemplu - controlul luminozității unui LED folosind PWM. Să punem împreună o schemă clasică.
Pasul 3
Să deschidem schița „Fade” din exemplele: File -> Samples -> 01. Basics -> Fade.
Pasul 4
Să-l schimbăm puțin și să-l încărcăm în memoria Arduino.
Pasul 5
Aprindem puterea. LED-ul crește treptat în luminozitate și apoi scade treptat. Am simulat un semnal analogic la ieșirea digitală folosind modulația lățimii impulsurilor.