Liikennevalojen - koodi

// Liikennevalot

#define red  10

#define yellow 9

#define green  8


void setup(){

 pinMode(red, OUTPUT);

 pinMode(yellow, OUTPUT);

 pinMode(green, OUTPUT);

}


void loop(){

 vaihdaValot();

 delay(15000);

}


void vaihdaValot(){

 // vihreä sammuu, keltainen 3 sekuntia

 digitalWrite(green, LOW);

 digitalWrite(yellow, HIGH);

 delay(3000);


 // keltainen sammuu, punainen syttyy ja palla 5 sekuntia

 digitalWrite(yellow, LOW);

 digitalWrite(red, HIGH);

 delay(5000);


 // keltainen syttyy 2 seconds (punainen on vielä päällä)

 digitalWrite(yellow, HIGH);

 delay(2000);


 // punainen ja keltainen sammuu, vihreä syttyy

 digitalWrite(yellow, LOW);

 digitalWrite(red, LOW);

 digitalWrite(green, HIGH);

 delay(3000);

}