Помогите разобраться с кодом
- Войдите на сайт для отправки комментариев
Вс, 18/06/2017 - 15:36
Не могу понять почему не работает на Протеусе. Вроде все правильно. Компилятор не ругает. Логика совпадает
int LedR = 1; int LedG = 3; int LedB = 5; int Motor = 9; int Button = 2; int SigTime1 = 300; int SigTime2 = 500; int SigTime3 = 700; int LowTime = 1000; int flag = 0; int regim = 0; void setup() { pinMode(LedR, OUTPUT); pinMode(LedG, OUTPUT); pinMode(LedB, OUTPUT); pinMode(Motor, OUTPUT); } void loop() { if(digitalRead(Button) == HIGH && flag == 0) { regim ++; flag = 1; if(regim > 4) { regim = 0; } } if(digitalRead(Button) == LOW && flag == 1) { flag = 0; } if(regim == 0) { digitalWrite(LedR, LOW); digitalWrite(LedG, LOW); digitalWrite(LedB, LOW); digitalWrite(Motor, LOW); } if(regim == 1) { digitalWrite(LedR, HIGH); digitalWrite(Motor, HIGH); delay(SigTime1); digitalWrite(Motor, LOW); digitalWrite(LedR, LOW); } if(regim == 2) { digitalWrite(LedG, HIGH); digitalWrite(Motor, HIGH); delay(SigTime2); digitalWrite(Motor, LOW); digitalWrite(LedG, LOW); } if(regim == 3) { digitalWrite(LedB, HIGH); digitalWrite(Motor, HIGH); delay(SigTime3); digitalWrite(Motor, LOW); digitalWrite(LedB, LOW); } }
Логика совпадает
С чем?
Вы реально думаете, что все знают что именно Вы хотели сделать, чего Вы ожидаете от этого кода и что Вас в нём не устраивает?
грабли
Не могу понять почему не работает на Протеусе.
как именно не работает?
опрос кнопки без задержки
я не уверн, но
pinMode(
Button
, INPUT);опрос кнопки без задержки
я не уверн, но
pinMode(
Button
, INPUT);#403 #409
Просто уточняю: при regim=4 ничего не делаем, пустой прогон и при новом loop если digitalRead(Button)=1: regim ++?
UPD. Наверное DIVGENY в #2 обращал внимание на тоже самое.