Díl 15 - PWM řízení výstupu (LED pásek)

02.03.2016 06:55

Jestliže máte doma Arduino, případně uvažujete o jeho pořízení, určitě se rádi dozvíte více o vynikající "fičurce", kterou obsahují desky Arduino už v základu.

Jde o řízení výstupu na některých pinech Arduina, takzvané PWM, tedy pulsně šířková modulace.
Pomocí této funkce můžete velmi jednoduše například řídit sílu svitu LED diody, případně celého LED pásku, anebo také rychlost otáčení motoru a podobně.

Co budeme potřebovat?


  • Arduino UNO - pro náš pokus bohatě postačuje tato deska.

  • LED pásek - na připojení a řízení displeje potřebujete jen 2 datové piny

  • MOSFET Driver Řadič 24V 5A (IRF520) - modul pro řízení zařízení s větším odběrem proudu.

  • Zdroj pro LED pásek - externí zdroj, nezávislý na napájení Arduina.

Zapojení je velmi triviální, propojíme Arduino UNO s MOSFET modulem, pin VCC připojíme na 5V na Arduinu, stejně tak propojíme GND a GND. Pin Signal na MOSFETU propojíme s pinem č.3, který si definujeme v programu jako řídící pin pro LED pásek.

Je důležité si uvědomit, které piny na Arduinu podporují PWM, je to uvedeno přímo na desce, ale můžete čerpat i z popisu funkce analogWrite(), kde jsou popsány všechny základní desky Arduino a jejich piny, které podporují PWM.

Nyní si připojíme externí zdroj, který nám bude napájet náš LED pásek. Já jsem použil obyčejný adaptér 12V / 1000mA kterých máme doma několik. Připojíme jej do MOSFET modulu, plus připojíme do konektoru s označením VIN a mínus do GND.

Náš LED pásek (případně cokoliv jiného, samozřejmě) připojíme k MOSFET modulu na konektor V+ a V-, dle potřeby. Na těchto výstupech již budeme mít řízené napětí, které si budeme ovládat pomocí desky Arduino a v ní nahraného programu.

Teď si tedy sestavíme velmi jednoduchý program:
nazval jsem jej dýchání, protože LED pásek jakoby dýchá...  :-)

 

Myslím, že jsem jej okomentoval více než dostatečně, takže snad ani úplní začátečníci s ním nebudou mít žádný problém.
Jen připomenu, že v případě použití fce analogWrite() není třeba volat fci pinMode().

A také fce analogWrite() nemá nic společného s analogovými porty a fcí analogRead()

Na závěr bych rád doplnil, že tento MOSFET modul používám také ve spojení se světelným senzorem.
Dle intenzity světla v okolí (například venku) reguluji svítivost LED pásků označující rohy naší garáže (což pomáhá při dosti složitém couvání u nás). Samozřejmě, pokud je venku normální denní světlo, LED pásek svítí naplno, ale pokud je tma, je svítívost pásku utlumena, jinak LED pásky příliš oslňují.

 

Zpět

Kontakt

Arduino-Home

© 2014 Všechna práva vyhrazena.

Tvorba webových stránek zdarmaWebnode