Miješanje boja

Što ćemo naučiti:

– Kako dobiti druge boje miješanjem osnovnih boja RGB diode

Zadatak

Uključite nekoliko segmenata RGB diode odjednom i promatrajte koje boje dobivate na RGB diodi.

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
  //svijetle crvena i zelena boja, vidimo žutu
  digitalWrite(LedCrvena, HIGH);    //uključ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
  //svijetle crvena i plava boja, vidimo ljubičastu
  digitalWrite(LedCrvena, HIGH);    //uključ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
  //svijetle crvena, zelena i plava boja, vidimo bijelu
  digitalWrite(LedCrvena, HIGH);    //uključi crveni segment
  digitalWrite(LedZelena, HIGH);    //uključ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
}