Почему моя кнопка не работает?
Я пытаюсь сделать светофор для своего школьного проекта, но моя кнопка для светофора не работает. Светофор должен загораться нормально, но при нажатии кнопки все светодиоды должны погаснуть, но этого не происходит. Может быть, я неправильно соединил свои кнопки?
Код:
int Pins[] {2,3,4,5,6};
int red =2;
int yellow=3;
int green = 4;
int GruenF =6;
int RotF=5;
int blaulichtTaster = 12;
int blaulichtTasterStellung = 0;
void setup() {
for(int i=0;i<9; i++) {
pinMode(Pins[i], OUTPUT);
}
pinMode(blaulichtTaster, INPUT);
}
void loop() {
blaulichtTasterStellung = digitalRead(blaulichtTaster);
if(blaulichtTasterStellung == 0){
digitalWrite(red, HIGH);
delay(3000);
digitalWrite(GruenF, HIGH);
digitalWrite(RotF,LOW);
delay(4000);
for(int i =0;i<4;i++) {
digitalWrite(GruenF,LOW);
delay(500);
digitalWrite(GruenF,HIGH);
delay(500);
}
digitalWrite(GruenF,LOW);
digitalWrite(RotF, HIGH);
delay(3000);
digitalWrite(yellow,HIGH);
delay(4000);
digitalWrite(red,LOW);
digitalWrite(yellow,LOW);
digitalWrite(green, HIGH);
delay(10000);
digitalWrite(green, LOW);
delay(500);
for(int i = 0; i<3; i++) {
digitalWrite(green, HIGH);
delay(500);
digitalWrite(green, LOW);
delay(500);
}
digitalWrite(green, HIGH);
delay(500);
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
delay(4000);
digitalWrite(yellow, LOW);
}
else{
digitalWrite(red,LOW);
digitalWrite(yellow,LOW);
digitalWrite(green,LOW);
digitalWrite(RotF,LOW);
digitalWrite(GruenF,LOW);
}
}
Моя схема:
@fatihakan21, 👍1
Обсуждение0
Смотрите также:
- Как переключить светодиод при нажатии кнопки?
- Определение того, была ли нажата и отпущена кнопка
- Нажать клавишу Windows, используя «keyboard.press();»
- Устранение дребезга кнопки с помощью прерывания
- Хорошая кнопка debouncing/Библиотека StateChange
- Напряжение меняется, но цифровой поток всегда HIGH
- Остановить мигание светодиодов
- Интеграция 2 кнопок для включения и выключения светодиода.
Если предположить, что рельсы питания в вашем макете непрерывны, и вы держите кнопку достаточно долго, чтобы вся последовательность света выполнялась от начала до конца (33 секунды?), То да, похоже, что это должно работать. Вы ожидаете, что он мгновенно отреагирует на то, что вы нажмете кнопку или что-то в этом роде?, @Majenko
Да, он должен реагировать мгновенно., @fatihakan21
Тогда вам придется переосмыслить свою программу и избавиться от всех этих функций " delay ()"., @Majenko
@fatihakan21, не могли бы вы обратиться к части комментария Маженко "Предполагая, что силовые рельсы на вашем макете непрерывны"? Действительно ли вы подтвердили, что они непрерывны?, @timemage
напишите тестовый скетч, который включает все светодиоды при нажатии кнопки и выключает светодиоды при отпускании кнопки ... в конце концов, речь идет о кнопке, а не об остальной части скетча ... вы предполагаете, что кнопка не работает, поэтому вам нужно проверить свое предположение, @jsotola