bool rechts, links; //rechts en links kunnen waarde 1 en 0 hebben.
void setup() {
DDRD = B00000000; //alle pinnen van poort D als input instellen
PORTD = B00000001; //Zet eerst de lamp op pin 0 aan om daarna het programma te volgen.
pinMode(8,OUTPUT); //stel pin 8 in als output voor de zoemer
}
void loop() {
if (rechts){
PORTD = PORTD >> 1; //ga van links naar rechts
delay(500);
}
if (links){
PORTD = PORTD << 1; //verschuif van rechts naar links
delay(500);
}
if (PORTD == B00000001){
links = 1; //Als het rechter lampje brandt maak het linker lampje waarde 1 en het rechter lampje waarde 0
rechts = 0;
tone(8,230); //Als het rechter lampje (pin 0) aantstaat geef een toon
delay(500);
noTone(8);
}
if (PORTD == B10000000){
links = 0; //Als het linker lampje brandt maak het rechter lampje waarde 1 en het linker lampje waarde 0
rechts = 1;
tone(8,230); //Als het linker lampje (pin 7) aantstaat geef een toon
delay(500);
noTone(8);
}
}