Hajde da shvatimo šta stoji iza kratice PWM, kako to funkcionira, čemu služi i kako ga možemo koristiti u radu s Arduinom.
Potrebno
- - Arduino;
- - dioda koja emituje svjetlost;
- - otpornik otpora od 200 Ohm;
- - računar.
Instrukcije
Korak 1
Arduino digitalni pinovi mogu dati samo dvije vrijednosti: logiku 0 (LOW) i logiku 1 (HIGH). Zbog toga su digitalni. Ali Arduino ima "posebne" zaključke, koji su označeni kao PWM. Ponekad se označavaju valovitom linijom "~" ili se zaokružuju ili nekako razlikuju od ostalih. PWM je kratica za "modulacija širine impulsa" ili modulacija širine impulsa, PWM.
Širinski modulirani signal je impulsni signal konstantne frekvencije, ali promenljivog radnog ciklusa (odnos trajanja impulsa i njegovog perioda ponavljanja). Zbog činjenice da većina fizičkih procesa u prirodi ima određenu inerciju, oštri padovi napona od 1 do 0 izgladiće se uzimajući neku prosječnu vrijednost. Postavljanjem radnog ciklusa možete promijeniti prosječni napon na PWM izlazu.
Ako je radni ciklus 100%, tada će cijelo vrijeme na digitalnom izlazu Arduina postojati logički napon od "1" ili 5 volti. Ako radni ciklus postavite na 50%, tada će pola vremena na izlazu biti logično "1", a pola - logično "0", a prosječni napon će biti 2,5 volta. I tako dalje.
U programu se radni ciklus ne postavlja kao postotak, već kao broj od 0 do 255. Na primjer, naredba "analogWrite (10, 64)" reći će mikrokontroleru da pošalje signal s radnim ciklusom od 25 % na digitalni PWM izlaz # 10.
Arduino pinovi sa funkcijom modulacije širine impulsa rade na frekvenciji od oko 500 Hz. To znači da je period ponavljanja impulsa oko 2 milisekunde, što se mjeri zelenim vertikalnim potezima na slici.
Ispada da na digitalnom izlazu možemo simulirati analogni signal! Zanimljivo, zar ne?!
Kako ovo možemo iskoristiti? Postoji puno aplikacija! Na primjer, to su LED kontrola svjetline, kontrola brzine motora, kontrola struje tranzistora, vađenje zvuka iz piezo emitera …
Korak 2
Pogledajmo najosnovniji primjer - upravljanje svjetlinom LED-a pomoću PWM-a. Sastavimo klasičnu shemu.
Korak 3
Otvorimo skicu "Fade" iz primjera: Datoteka -> Uzorci -> 01. Osnovni -> Fade.
Korak 4
Promijenimo ga malo i učitamo u Arduino memoriju.
Korak 5
Uključujemo napajanje. LED se postepeno povećava, a zatim postepeno smanjuje. Simulirali smo analogni signal na digitalnom izlazu pomoću modulacije širine impulsa.