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);
}

