Stap 3: codering
Fancy lichten Controller / /Door AP / /
int switchPin = 2; modus-schakelaar is verbonden met pin 2
int led1Pin = 12;
int led2Pin = 11;
int led3Pin = 10;
int led4Pin = 9;
int val; variabele voor het lezen van de Pinstatus
int val2; variabele voor het lezen van de vertraagde status
int buttonState; variabele voor de modus-schakelaar staat
int lightMode = 0;
VOID Setup {}
pinMode (switchPin, INPUT); De modus-schakelaar-pincode instellen als input
pinMode (led1Pin, OUTPUT);
pinMode (led2Pin, OUTPUT);
pinMode (led3Pin, OUTPUT);
pinMode (led4Pin, OUTPUT);
Serial.begin(9600); Instellen van seriële communicatie 9600 bps
buttonState = digitalRead(switchPin); Lees de begintoestand
}
void loop {}
Val = digitalRead(switchPin); Lees input waarde en sla het in de val
delay(10);
val2 = digitalRead(switchPin); Belangrijkste Bounce preventie
Als (val == val2) {}
Als (val! = buttonState) {}
Als (val == HIGH) {/ / controleren als de mode-knop wordt ingedrukt
Als (lightMode == 0) {}
lightMode = 1; LEDs inschakelen
}
else {}
Als (lightMode == 1) {/ / als LEDs op
lightMode = 2; maken flash
}
else {}
Als (lightMode == 2) {/ / als LED's knipperen
lightMode = 3; maken van het Golf
}
else {}
Als (lightMode == 3) {/ / als LEDs zwaaien,
lightMode = 0; LEDs uitschakelen
}
}
}
}
}
}
buttonState = val; de nieuwe staat in onze variabele opslaan
}
Nu doen wat de lightMode aangeeft
Als (lightMode == 0) {/ / LEDs-off
digitalWrite (led1Pin, laag);
digitalWrite (led2Pin, laag);
digitalWrite (led3Pin, laag);
digitalWrite (led4Pin, laag);
}
Als (lightMode == 1) {/ / LEDs-on
digitalWrite (led1Pin, hoge);
digitalWrite (led2Pin, hoge);
digitalWrite (led3Pin, hoge);
digitalWrite (led4Pin, hoge);
}
Als (lightMode == 2) {/ / LEDS-knipperend
digitalWrite (led1Pin, hoge);
digitalWrite (led2Pin, hoge);
digitalWrite (led3Pin, hoge);
digitalWrite (led4Pin, hoge);
delay(100);
digitalWrite (led1Pin, laag);
digitalWrite (led2Pin, laag);
digitalWrite (led3Pin, laag);
digitalWrite (led4Pin, laag);
delay(100);
}
Als (lightMode == 3) {/ / LEDs-golft
digitalWrite (led4Pin, laag);
digitalWrite (led1Pin, hoge);
delay(100);
digitalWrite (led1Pin, laag);
digitalWrite (led2Pin, hoge);
delay(100);
digitalWrite (led2Pin, laag);
digitalWrite (led3Pin, hoge);
delay(100);
digitalWrite (led3Pin, laag);
digitalWrite (led4Pin, hoge);
delay(100);
digitalWrite (led4Pin, laag);
}
}