ich schreibe gerade einen Sketch das man mit einem Taster 4 LEDS weiterschalten
und wen der 2 Taster gedrückt wird blinken die anderen LEDS .
aber bei der if Bedingung bei der beide werte überprüft werden funktioniert es nicht
Weiß da jemand weiter
Das ist der Sketch:
int taster1=7;
int taster2=8;
int tasterstatus1=0;
int tasterstatus2=0;
int led1=12;
int led2=11;
int led3=10;
int led4=9;
bool oldButtonState = HIGH;
bool newButtonState;
int count = 0;
void setup() {
pinMode (taster1,INPUT);
pinMode (taster2,INPUT_PULLUP);
pinMode (led1,OUTPUT);
pinMode (led2,OUTPUT);
pinMode (led3,OUTPUT);
pinMode (led4,OUTPUT);
}
void loop() {
newButtonState = digitalRead(taster1);
tasterstatus2 = digitalRead(taster2);
if (oldButtonState == HIGH && newButtonState == LOW) {
count++;
oldButtonState = newButtonState;
if (count == 3) {
digitalWrite(led1, HIGH);
}
if (count == 4) {
digitalWrite(led1, LOW);
digitalWrite (led2,HIGH);
}
if (count == 5 ){
digitalWrite (led2,LOW);
digitalWrite (led3,HIGH);
}
if (count == 6){
digitalWrite (led3,LOW);
digitalWrite (led4,HIGH);
}
if (count == 7){
digitalWrite (led4,LOW);
}
if ((tasterstatus2 == HIGH && count == 3)){
digitalWrite (led1,HIGH);
delay (1000);
digitalWrite (led1,LOW);
digitalWrite (led2,HIGH);
delay (1000);
digitalWrite (led2,LOW);
digitalWrite (led3,HIGH);
delay (1000);
digitalWrite (led3,LOW);
digitalWrite (led4,HIGH);
delay (1000);
digitalWrite (led4,LOW);
}
if ((tasterstatus2 == HIGH) && (count == 4)){
digitalWrite (led2,HIGH);
delay (1000);
digitalWrite (led2,LOW);
digitalWrite (led3,HIGH);
delay (1000);
digitalWrite (led3,LOW);
digitalWrite (led4,HIGH);
delay (1000);
digitalWrite (led4,LOW);
digitalWrite (led1,HIGH);
delay (1000);
digitalWrite (led1,LOW);
}
delay(100);
} else if (oldButtonState == LOW && newButtonState == HIGH) {
oldButtonState = newButtonState;
}
}