Pojďme zjistit, co je za zkratkou PWM, jak funguje, k čemu slouží a jak ji můžeme použít při práci s Arduinem.
Nezbytné
- - Arduino;
- - světelná dioda;
- - odpor s odporem 200 Ohm;
- - počítač.
Instrukce
Krok 1
Digitální piny Arduino mohou dát pouze dvě hodnoty: logiku 0 (LOW) a logiku 1 (HIGH). Proto jsou digitální. Arduino má ale „zvláštní“závěry, které se označují jako PWM. Někdy jsou označeny vlnovkou „~“nebo zakroužkovány nebo nějak odlišeny od ostatních. PWM znamená „Pulse-width modulation“nebo Pulse Width Modulation, PWM.
Signál modulovaný šířkou pulzu je pulzní signál s konstantní frekvencí, ale s proměnlivým pracovním cyklem (poměr doby trvání pulzu k jeho periodě opakování). Vzhledem k tomu, že většina fyzikálních procesů v přírodě má určitou setrvačnost, dojde k vyhlazení ostrých poklesů napětí od 1 do 0, což bude mít průměrnou hodnotu. Nastavením pracovního cyklu můžete změnit průměrné napětí na výstupu PWM.
Pokud je pracovní cyklus 100%, bude po celou dobu na digitálním výstupu Arduina logické napětí „1“nebo 5 voltů. Pokud nastavíte pracovní cyklus na 50%, bude polovina času na výstupu logická „1“a poloviční logická „0“a průměrné napětí bude 2,5 voltu. A tak dále.
V programu není pracovní cyklus nastaven jako procento, ale jako číslo od 0 do 255. Například příkaz „analogWrite (10, 64)“řekne mikrokontroléru, aby vyslal signál s pracovním cyklem 25 % na digitální výstup PWM # 10.
Piny Arduino s funkcí modulace šířky pulzu pracují na frekvenci asi 500 Hz. To znamená, že perioda opakování pulzu je asi 2 milisekundy, což se měří zelenými svislými tahy na obrázku.
Ukázalo se, že můžeme simulovat analogový signál na digitálním výstupu! Zajímavé, že?!
Jak to můžeme použít? Existuje spousta aplikací! Jedná se například o řízení jasu LED, řízení otáček motoru, řízení tranzistorového proudu, extrakci zvuku z piezoelektrického vysílače …
Krok 2
Pojďme se podívat na nejzákladnější příklad - ovládání jasu LED pomocí PWM. Pojďme sestavit klasické schéma.
Krok 3
Otevřeme náčrt „Fade“z příkladů: Soubor -> Ukázky -> 01. Basics -> Fade.
Krok 4
Pojďme to trochu změnit a načíst do paměti Arduino.
Krok 5
Zapneme napájení. LED postupně zvyšuje jas a poté postupně klesá. Simulovali jsme analogový signál na digitálním výstupu pomocí pulzní šířkové modulace.