In acest articol vom folosi un led RGB impreuna cu Arduino Uno. Cu Arduino putem aprinde si stinge foarte usor un led dar in acest articol vom folosi o librarie dedicata pentru utilizarea cu ledurile RGB atat cu anod comun cat si cu catod comun.

    Aceasta librarie se numesta RGBled si poate fi descarcata de aici. Instalarea acestei librarii se face accesand meniul Schita >  Incarcare biblioteca > Adauga biblioteca.zip.

    In acest exemplu vom folosi un modul led RGB cu catod comun. Conexiunile cu Arduino sunt simple: D11 la ledul rosu, D10 la ledul verde, D9 la ledul albastru si catodul la masa montajului.

    In urmatorul sketch voi folosi toate functiile disponibile cu aceasta librarie:

#include <RGBLed.h>  //includem libraria rgbled

RGBLed led(11, 10, 9, RGBLed::COMMON_CATHODE); //creem metoda de apelare a functiilor din libraria inclusa mai sus pentru ledurile RGB cu catod comun, pentru leduri rgb cu anod comun folosim ca ultim parametru COMMON_ANODE
//pinii D11, D10 si D9 se conecteaza la ledurile Rosu, Verde si Albastru, in aceasta ordine

void setup() {
}

void loop() {
  led.setColor(RGBLed::GREEN);  //setam culoarea verde a ledului
  led.brightness(RGBLed::GREEN, 10);   //setam stralucirea la 10%
  delay(2000);
  led.brightness(RGBLed::GREEN, 50);   //setam stralucirea la 50%
  delay(2000);
  led.brightness(RGBLed::GREEN, 100);
  delay(2000);
  led.off();  //oprim ledul
  delay(2000);
  
  led.setColor(RGBLed::BLUE);
  led.brightness(RGBLed::BLUE, 10);
  delay(2000);
  led.brightness(RGBLed::BLUE, 50);
  delay(2000);
  led.brightness(RGBLed::BLUE, 100);
  delay(2000);
  led.off();
  delay(2000);

  led.setColor(RGBLed::RED);
  led.brightness(RGBLed::RED, 10);
  delay(2000);
  led.brightness(RGBLed::RED, 50);
  delay(2000);
  led.brightness(RGBLed::RED, 100);
  delay(2000);
  led.off();
  delay(2000);

  led.fadeIn(RGBLed::GREEN, 20, 2000);  //aprindem ledul verde cu efect de fade in cu 20 de pasi in 2 secunde
  led.fadeOut(RGBLed::GREEN, 20, 2000);  //stingem ledul verde cu efect de fade out cu 20 de pasi in 2 secunde
  delay(2000);
  led.fadeIn(RGBLed::BLUE, 20, 2000);
  led.fadeOut(RGBLed::BLUE, 20, 2000);
  delay(2000);
  led.fadeIn(RGBLed::RED, 20, 2000);
  led.fadeOut(RGBLed::RED, 20, 2000);
  delay(2000);

  led.flash(RGBLed::GREEN, 100);
  delay(500);
  led.flash(RGBLed::BLUE, 100);
  delay(500);
  led.flash(RGBLed::RED, 100);
  delay(2000);

  led.setColor(23, 161, 165);  //setam culoarea ledului folosind un cod RGB
  delay(2000);
  led.off();
  delay(2000);

  led.setColor(128, 0, 128);
  delay(2000);
  led.off();
  delay(2000);

  led.setColor(0, 0, 128);
  delay(2000);
  led.off();
  delay(2000);

  led.setColor(247, 84, 49);
  delay(2000);
  led.off();
  delay(2000);

  led.setColor(58, 164, 231);
  delay(2000);
  led.off();
  delay(2000);

  led.crossFade(RGBLed::RED, RGBLed::BLUE, 50, 5000);   //efect de trecere de la o culoare la alta efectuata in 50 de pasi si 5 secunde
  delay(2000);
  led.off(); 
  delay(2000);
  led.crossFade(RGBLed::BLUE, RGBLed::GREEN, 50, 5000);
  delay(2000);
  led.off(); 
  delay(2000);
  led.crossFade(RGBLed::GREEN, RGBLed::RED, 50, 5000);
  delay(2000);
  led.off(); 
  delay(2000);
}

     Un filmulet cu montajul in functiune se poate vedea mai jos:

 

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.