Úplně nejjednodušejc by to šlo udělat takhle:
Je tam delay, takže na stisk tlačítka to bude reagovat vždy až po zhasnutí výstupu. Ale to při krátkých časech nemá vliv.
int time1 = 10; //čas svícení (počáteční nastavení 10 ms)
int time2 = 10; //čas nesvícení (počáteční nastavení 10 ms)
void setup() {
pinMode (5, INPUT); //vstup 1
pinMode (6, INPUT); //vstup 2
pinMode (7, INPUT); //vstup 3
pinMode (8, INPUT); //vstup a tak dále
pinMode (13, OUTPUT); //výstup
}
void loop() {
//tady se řeší rozřazování
if digitalRead(5){
//stisknuto tlačítko 1
//nastavit parametry 1
time1 = 10;
time2 = 10;
}
if digitalRead(6){
//stisknuto tlačítko 2
//nastavit parametry 2
time1 = 20;
time2 = 20;
}
//tady se řeší blikání
digitalWrite(13, HIGH);
delay(time1);
digitalWrite(13, LOW);
delay(time2);
}