Sterowanie paskiem LED za pomocą Arduino
Za pomocą Arduino możemy z powodzeniem sterować paskami z diodami LED. Przedstawiony przykład przedstawia sposób podłączenia oraz pokazuje jak wgrać przykładowy program.
W przykładzie wykorzystamy następujące elementy:
Podłączenie
Pasek LED jest zasilany napięciem 12 V, podczas gdy Arduino pracuje z napięciem 5 V. W celu sterowania nim z Arduino wykorzystamy tranzystor w roli przełącznika. W tym wypadku IRL540N będzie dobrym rozwiązaniem. Wybrany pin Arduino, np. 5 łączymy z pierwszą nóżką tranzystora przez rezystor 10 kΩ. Druga jest podłączona do "-" na pasku LED. Trzecia do masy. Zasilanie +12 V podpinamy bezpośrednio do taśmy LED, natomiast masy całego układu zwieramy razem z masą Arduino, tak jak na poniższym schemacie.
Schemat podłączenia modułu.
Obsługa
Prezentowany układ działa w taki sposób, że gdy ustawimy na pinie 5 Arduino stan wysoki, to tranzystor zaczyna przewodzić prąd zasilający pasek LED. W tym celu wykorzystamy program Blink z przykładów Arduino (Plik -> Przykłady -> 01. Basics -> Blink).
W programie wystarczy zmienić pin Arduino na 5, oraz możemy ustawić opóźnienia:
- // the setup function runs once when you press reset or power the board
- void setup() {
- // initialize digital pin 13 as an output.
- pinMode(5, OUTPUT);
- }
- // the loop function runs over and over again forever
- void loop() {
- digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)
- delay(3000); // wait for a second
- digitalWrite(5, LOW); // turn the LED off by making the voltage LOW
- delay(3000); // wait for a second
- }
Program na zmianę zapala i gasi taśmę LED co 3 sekundy. Efekt jest widoczny na poniższych zdjęciach:
Korzystając z programu Fade (Plik -> Przykłady -> 01. Basics -> Fade) można płynnie rozjaśniać i ściemniać LEDy poprzez sygnał PWM. Pamiętamy o zmianie w programie pinu na 5 (możemy również przepiąć przewód do pinu 9. Najważniejsze, żeby dany pin posiadał PWM oznaczony tyldą). Możemy również poeksperymentować z pozostałymi wartościami.
- int led = 5; // the pin that the LED is attached to
- int brightness = 0; // how bright the LED is
- int fadeAmount = 5; // how many points to fade the LED by
- // the setup routine runs once when you press reset:
- void setup() {
- // declare pin 5 to be an output:
- pinMode(led, OUTPUT);
- }
- // the loop routine runs over and over again forever:
- void loop() {
- // set the brightness of pin 5:
- analogWrite(led, brightness);
- // change the brightness for next time through the loop:
- brightness = brightness + fadeAmount;
- // reverse the direction of the fading at the ends of the fade:
- if (brightness == 0 || brightness == 255) {
- fadeAmount = -fadeAmount ;
- }
- // wait for 50 milliseconds to see the dimming effect
- delay(50);
- }