Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2016, 13:04   #1
AndySup
Новичок
Джуниор
 
Регистрация: 01.10.2016
Сообщений: 2
По умолчанию Последовательное нажатие кнопок Ардуино

Здравствуйте!
Начал работать с ардуино, поэтому сильно не ругайтесь за плохой код, уже много раз что-то менял, в итоге решил обратиться за советом) Возникла такая задача: Есть 4 кнопки. Их нужно нажать в определенной последовательности и тогда, например, загорится светодиод. Если пользователь сбился с последовательности, все сбросить и ждать ввода последовательности заново.
Может есть какое то готовое решение или кто сможет помочь сделать рабочее решение, буду благодарен)

Цитата:
int RedpinLock = 8;
int GreenpinUnlock = 9;
int first = 7;
int second = 6;
int third = 5;
int four = 4;
boolean Key1WasUp = true;
boolean Key4WasUp = true;
int fb=0;
int sb=0;

void setup() {
// put your setup code here, to run once:
pinMode(RedpinLock, OUTPUT);
pinMode(GreenpinUnlock, OUTPUT);
pinMode(first,INPUT);
pinMode(second,INPUT);
pinMode(third,INPUT);
pinMode(four,INPUT);

}

void loop() {
// put your main code here, to run repeatedly:



if (fb==0&&sb==0)
{
boolean Key1IsUp = digitalRead(first);
if(Key1WasUp && !Key1IsUp){
delay(10);
Key1IsUp = digitalRead(first);
}
if(!Key1IsUp){
fb=1;
}

}
else{

digitalWrite(RedpinLock, LOW);
delay(300);
digitalWrite(RedpinLock, HIGH);

}

if (fb==1&&sb==0)
{
boolean Key2IsUp = digitalRead(second);
if(Key1WasUp && !Key2IsUp){
delay(10);
Key2IsUp = digitalRead(second);
}
if(!Key2IsUp){
sb=1;
digitalWrite(RedpinLock, LOW);
digitalWrite(GreenpinUnlock, HIGH);
}

}
else{

digitalWrite(RedpinLock, LOW);
delay(300);
digitalWrite(RedpinLock, HIGH);

}

boolean Key3IsUp = digitalRead(third);
if(Key1WasUp && !Key3IsUp){
delay(10);
Key3IsUp = digitalRead(third);
}
if(!Key3IsUp){

digitalWrite(RedpinLock, HIGH);
digitalWrite(GreenpinUnlock, LOW);

}

}
AndySup вне форума Ответить с цитированием
Старый 01.10.2016, 13:50   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Тут же напрашивается простой, классический и легкочитаемый конечный автомат....
p51x вне форума Ответить с цитированием
Старый 01.10.2016, 19:05   #3
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

...ничего не меняется в мире, тему создать не лениво и проще, чем набрать свой вопрос в гугле.

http://www.radio-magic.ru/arduino-pr...-kodovji-zamok
http://cxem.net/arduino/arduino101.php
kutani вне форума Ответить с цитированием
Старый 02.10.2016, 12:03   #4
AndySup
Новичок
Джуниор
 
Регистрация: 01.10.2016
Сообщений: 2
По умолчанию

Вот за вторую ссылку спасибо! Сколько искал именно с кнопками, не мог найти ничего дельного)
AndySup вне форума Ответить с цитированием
Старый 13.10.2016, 21:25   #5
Алексей123444
Новичок
Джуниор
 
Регистрация: 13.10.2016
Сообщений: 1
По умолчанию

Требуется единомышленник готовый участвовать в Битвах роботов, с уверенным использованием arduino, знающий основы электротехники, имеющий опыт проектирования и изготовления печатных платформ, а также обладающий знанием современных протоколов данных.

Все вопросы в личку
Алексей123444 вне форума Ответить с цитированием
Старый 14.10.2016, 09:50   #6
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

1- гадить в чужих темах ни на одном форуме не приветствуется.
2- единомышленник должен быть готов питаться святым духом?
3- нет у вас лички, а все потому что правила не читаете.
kutani вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажатие кнопок на сайтах oteccc Работа с сетью в Delphi 1 13.04.2014 10:13
Нажатие кнопок glebast Помощь студентам 0 03.04.2012 21:08
нажатие кнопок Nitrino Win Api 2 07.01.2010 22:43
Нажатие кнопок SeregaIRK Компоненты Delphi 9 18.09.2008 18:13
Нажатие кнопок мыши zzzzz Win Api 7 02.12.2007 12:33