Open form

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:

 

  1. // the setup function runs once when you press reset or power the board
  2. void setup() {
  3. // initialize digital pin 13 as an output.
  4. pinMode(5, OUTPUT);
  5. }
  6.  
  7. // the loop function runs over and over again forever
  8. void loop() {
  9. digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)
  10. delay(3000); // wait for a second
  11. digitalWrite(5, LOW); // turn the LED off by making the voltage LOW
  12. delay(3000); // wait for a second
  13. }
  14.  

 

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.

 

  1.  
  2. int led = 5; // the pin that the LED is attached to
  3. int brightness = 0; // how bright the LED is
  4. int fadeAmount = 5; // how many points to fade the LED by
  5.  
  6. // the setup routine runs once when you press reset:
  7. void setup() {
  8. // declare pin 5 to be an output:
  9. pinMode(led, OUTPUT);
  10. }
  11.  
  12. // the loop routine runs over and over again forever:
  13. void loop() {
  14. // set the brightness of pin 5:
  15. analogWrite(led, brightness);
  16.  
  17. // change the brightness for next time through the loop:
  18. brightness = brightness + fadeAmount;
  19.  
  20. // reverse the direction of the fading at the ends of the fade:
  21. if (brightness == 0 || brightness == 255) {
  22. fadeAmount = -fadeAmount ;
  23. }
  24. // wait for 50 milliseconds to see the dimming effect
  25. delay(50);
  26. }
  27.  

zapraszamy do współpracy!