Hajde da shvatimo što stoji iza kratice PWM, kako to funkcionira, čemu služi i kako ga možemo koristiti u radu s Arduinom.
Potrebno
- - Arduino;
- - Dioda koja emitira svjetlo;
- - otpornik otpora od 200 Ohm;
- - Računalo.
Upute
Korak 1
Arduino digitalni pinovi mogu dati samo dvije vrijednosti: logiku 0 (LOW) i logiku 1 (HIGH). Zato su digitalni. No, 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 promjenjivog radnog ciklusa (odnos trajanja impulsa i njegovog perioda ponavljanja). Zbog činjenice da većina fizičkih procesa u prirodi ima određenu tromost, 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 izlazu PWM.
Ako je radni ciklus 100%, tada će cijelo vrijeme na digitalnom izlazu Arduina biti logički napon "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 bit će 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 s funkcijom modulacije širine impulsa rade na frekvenciji od oko 500 Hz. To znači da je razdoblje ponavljanja pulsa oko 2 milisekunde, što se mjeri zelenim okomitim potezima na slici.
Ispada da na digitalnom izlazu možemo simulirati analogni signal! Zanimljivo, zar ne?!
Kako to možemo iskoristiti? Ima puno aplikacija! Primjerice, to su LED svjetlina, 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.
3. korak
Otvorimo skicu "Fade" iz primjera: Datoteka -> Uzorci -> 01. Osnovi -> Fade.
4. korak
Promijenimo ga malo i učitamo u Arduino memoriju.
Korak 5
Uključujemo napajanje. LED postupno povećava svjetlinu, a zatim postupno smanjuje. Simulirali smo analogni signal na digitalnom izlazu pomoću modulacije širine impulsa.