Lock Code Буззер и светодиод
- Войдите на сайт для отправки комментариев
Доброго времени суток! В простыне кнопки нажимаются в порядке - 2,3,1, после чего загорается светодиод. Если кнопки нажаты не в правильном порядке, должен пищать буззер. Подскажите куда додумать, сразу отрабатывает буззер. Если закомментить for, то работает, при наборе кода в правильном порядке загорается свтодиод.
const int btn1 = 6;
const int btn2 = 9;
const int btn3 = 10;
const int buzz = 2;
const int led = 5;
const int led1 = 3;
int i = 0;
byte val3 = 0;
bool state3 = 0;
byte val1 = 0;
byte val2 = 0;
bool state1 = 0;
bool state2 = 0;
void setup() {
pinMode (btn1, INPUT);
pinMode (btn2, INPUT);
pinMode (btn3, INPUT);
pinMode (buzz, OUTPUT);
pinMode (led, OUTPUT);
pinMode (led1, OUTPUT);
}
void loop()
{
digitalWrite (led, HIGH);
val2 = digitalRead (btn2);
if (val2== HIGH)
{
state2=!state2;}
if (state2==true)
{
val3 = digitalRead (btn3);
if (val3== HIGH)
{
state3=!state3;}
if (state3==true)
{
val1 = digitalRead (btn1);
if (val1== HIGH)
{
state1=!state1;}
if (state1==true){
digitalWrite (led1, HIGH);
delay (200);
}
}
}
else {
digitalWrite (led1, LOW);
}
for (i=0; i<5; i=i+1) {
digitalWrite (buzz, HIGH);
delay (300);
digitalWrite (buzz, LOW);
delay (300);
}
delay (1000);
}
Мужики, ну пришли на форум, ну посмотрите его правила, прежде, постить!
Ну, блин, ну вот как обуждать Ваш код, если он вставлен таким образом? Даже номеров строк нет!
Блин, я сегодня что-то добрый, обычно я этого не делаю ...
сразу отрабатывает буззер
А что, должно быть не так?
Смотрим код на строки 62-67. Эти строки находятся под каким-нибудь условием? Внутри какого-нибудь if'а? Вы там видите if? И я не вижу! Значит, он (пищалка) должен верещать при каждом проходе loop, что он и делает.
Всё работает правильно :)
Прошу прощения, не читал правила, и я пока рак=)
Можно ли заставить дождаться события (напрмер, нажатия кнопки)?
Вы меня спрашиваете? Это Ваша программа, а не моя. Вы попросили помочь найти ошибку - я Вам её показал. А писать программу за Вас - это в другой раздел.
Ясно. Код за меня писать не требуется, мне самому интересно.
Я бы помог. Но я пишу в "неправильном программировании".