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

zapraszamy do współpracy!