Promjena boja

Što ćemo naučiti:

– Kako spajamo višebojne diode na Arduino

Zadatak

Na Arduino spojite RGB diodu i napišite program koji će redom uključivati i isključivati pojedinu boju RGB diode. Na početku neka svijetli samo crveno, zatim samo zeleno i naposlijetu samo plavo svijetlo. Neka svijetlo bude uključeno 2 sekunde, a između uključivanja svakog svijetla neka bude pauza od pola sekunde.

Prikaz spajanja

Arduino kod


int LedCrvena = 6;
int LedZelena = 7;
int LedPlava = 8;

void setup() {
  pinMode(LedCrvena, OUTPUT);      //postavi izvod LedCrvena (6) kao izlazni
  pinMode(LedZelena, OUTPUT);      //postavi izvod LedZelena (7) kao izlazni
  pinMode(LedPlava, OUTPUT);       //postavi izvod LedPlava (8) kao izlazni
}

void loop() {
  //svijetli samo crvena boja
  digitalWrite(LedCrvena, HIGH);    //uključi crveni segment
  digitalWrite(LedZelena, LOW);     //isključi zeleni segment
  digitalWrite(LedPlava, LOW);      //isključi plavisegment
  delay(2000);                      //čekaj dvije sekunde
  //svi segmenti su isključeni
  digitalWrite(LedCrvena, LOW );    //isključi crveni segment
  digitalWrite(LedZelena, LOW);     //isključi zeleni segment
  digitalWrite(LedPlava, LOW);      //isključi plavisegment
  delay(500);                       //čekaj pola sekunde
  //svijetli samo zelena boja
  digitalWrite(LedCrvena, LOW);     //isključi crveni segment
  digitalWrite(LedZelena, HIGH);    //uključi zeleni segment
  digitalWrite(LedPlava, LOW);      //isključi plavisegment
  delay(2000);                      //čekaj dvije sekunde
  //svi segmenti su isključeni
  digitalWrite(LedCrvena, LOW);     //isključi crveni segment
  digitalWrite(LedZelena, LOW);     //isključi zeleni segment
  digitalWrite(LedPlava, LOW);      //isključi plavisegment
  delay(500);                       //čekaj pola sekunde
  //svijetli samo plava boja
  digitalWrite(LedCrvena, LOW);     //isključi crveni segment
  digitalWrite(LedZelena, LOW);     //isključi zeleni segment
  digitalWrite(LedPlava, HIGH);     //uključi plavisegment
  delay(2000);                      //čekaj dvije sekunde
  //svi segmenti su isključeni
  digitalWrite(LedCrvena, LOW);     //isključi crveni segment
  digitalWrite(LedZelena, LOW);     //isključi zeleni segment
  digitalWrite(LedPlava, LOW);      //isključi plavisegment
  delay(500);                       //čekaj pola sekunde
}