Išsiaiškinkime, kas slypi už PWM akronimo, kaip jis veikia, kam jis skirtas ir kaip galime jį naudoti dirbdami su „Arduino“.
Būtinas
- - Arduino;
- - Šviesos diodas;
- - rezistorius, kurio varža yra 200 omų;
- - kompiuteris.
Nurodymai
1 žingsnis
„Arduino“skaitmeniniai kaiščiai gali suteikti tik dvi reikšmes: logika 0 (LOW) ir logic 1 (HIGH). Štai kodėl jie yra skaitmeniniai. Tačiau „Arduino“turi „specialių“išvadų, kurios vadinamos PWM. Jie kartais žymimi banguota linija „~“, arba apskritimai ar kaip nors atskiriami nuo kitų. PWM reiškia „pulso pločio moduliacija“arba „Pulse Width Modulation“, PWM.
Impulso pločio moduliuojamas signalas yra pastovaus dažnio, bet kintamo veikimo ciklo (impulso trukmės ir jo pasikartojimo laikotarpio santykis) impulsinis signalas. Dėl to, kad dauguma fizinių procesų gamtoje turi tam tikrą inerciją, staigūs įtampos kritimai nuo 1 iki 0 bus išlyginti, atsižvelgiant į vidutinę vertę. Nustatę darbo ciklą, galite pakeisti vidutinę įtampą PWM išėjime.
Jei darbo ciklas yra 100%, tada skaitmeniniame „Arduino“išėjime visą laiką bus loginė įtampa „1“arba 5 voltai. Jei nustatysite 50% darbo ciklą, tada pusė laiko išėjime bus logiška "1", o pusė - "0", o vidutinė įtampa bus 2,5 voltai. Ir taip toliau.
Programoje darbo ciklas nustatomas ne procentais, o skaičiumi nuo 0 iki 255. Pavyzdžiui, komanda „analogWrite (10, 64)“nurodys mikrovaldikliui siųsti signalą, kurio darbo ciklas yra 25 % iki skaitmeninio PWM išėjimo Nr. 10.
„Arduino“kaiščiai su impulso pločio moduliavimo funkcija veikia maždaug 500 Hz dažniu. Tai reiškia, kad pulso pasikartojimo laikotarpis yra apie 2 milisekundes, o tai matuojama žaliais vertikaliais potėpiais paveiksle.
Pasirodo, kad skaitmeniniame išėjime galime imituoti analoginį signalą! Įdomu, tiesa?
Kaip mes galime tai naudoti? Yra daugybė programų! Pavyzdžiui, tai yra šviesos diodų ryškumo valdymas, variklio greičio valdymas, tranzistoriaus srovės valdymas, garso ištraukimas iš pjezo spinduolio …
2 žingsnis
Pažvelkime į pagrindinį pavyzdį - šviesos diodo ryškumo valdymą naudojant PWM. Sudėkime klasikinę schemą.
3 žingsnis
Atidarykime „Blukimo“eskizą iš pavyzdžių: File -> Samples -> 01. Basics -> Fade.
4 žingsnis
Šiek tiek pakeiskime ir įkraukime į „Arduino“atmintį.
5 žingsnis
Įjungiame maitinimą. Šviesos diodas palaipsniui didėja, o po to palaipsniui mažėja. Mes imitavome analoginį signalą skaitmeninėje išvestyje, naudodami impulsų pločio moduliaciją.