Poďme na to, čo sa skrýva za skratkou PWM, ako funguje, na čo slúži a ako ju môžeme použiť pri práci s Arduinom.
Nevyhnutné
- - Arduino;
- - Dióda vyžarujúca svetlo;
- - odpor s odporom 200 Ohm;
- - počítač.
Inštrukcie
Krok 1
Digitálne piny Arduino môžu mať iba dve hodnoty: logiku 0 (LOW) a logiku 1 (HIGH). Preto sú digitálne. Arduino má ale „špeciálne“závery, ktoré sa označujú ako PWM. Niekedy sú označené vlnovkou „~“alebo zakrúžkované alebo nejako odlíšené od ostatných. PWM je skratka pre „Pulse-Widline Modulation“alebo Pulse Width Modulation, PWM.
Signál modulovaný šírkou impulzu je impulzný signál s konštantnou frekvenciou, ale s premenlivým pracovným cyklom (pomer trvania impulzu k jeho opakovacej perióde). Vzhľadom na to, že väčšina fyzikálnych procesov v prírode má určitú zotrvačnosť, dôjde k vyhladeniu prudkých poklesov napätia od 1 do 0, čo bude mať priemernú hodnotu. Nastavením pracovného cyklu môžete zmeniť priemerné napätie na výstupe PWM.
Ak je pracovný cyklus 100%, potom na digitálnom výstupe Arduina bude neustále logické napätie „1“alebo 5 voltov. Ak nastavíte pracovný cyklus na 50%, potom polovica času na výstupe bude logická "1" a polovica - logická "0" a priemerné napätie bude 2,5 voltu. A tak ďalej.
V programe je pracovný cyklus nastavený nie ako percento, ale ako číslo od 0 do 255. Napríklad príkaz „analogWrite (10, 64)“povie mikrokontroléru, aby vyslal signál s pracovným cyklom 25 % na digitálny výstup PWM # 10.
Kolíky Arduino s funkciou modulácie šírky impulzu pracujú na frekvencii asi 500 Hz. To znamená, že perióda opakovania impulzu je asi 2 milisekundy, čo sa meria zelenými vertikálnymi ťahmi na obrázku.
Ukázalo sa, že na digitálnom výstupe môžeme simulovať analógový signál! Zaujímavé, však?!
Ako to môžeme využiť? Existuje veľa aplikácií! Napríklad ide o reguláciu jasu LED, reguláciu otáčok motora, reguláciu tranzistorového prúdu, extrakciu zvuku z piezoelektrického vysielača …
Krok 2
Pozrime sa na najzákladnejší príklad - riadenie jasu LED pomocou PWM. Zostavme klasickú schému.
Krok 3
Poďme si otvoriť náčrt „Fade“z príkladov: File -> Samples -> 01. Basics -> Fade.
Krok 4
Poďme to trochu zmeniť a načítajme do pamäte Arduino.
Krok 5
Zapneme napájanie. LED postupne zvyšuje jas a potom postupne klesá. Simulovali sme analógový signál na digitálnom výstupe pomocou pulznej šírkovej modulácie.