меню на кнопке и biunce.h

anon
Offline
Зарегистрирован: 23.05.2013

добрый день. помогите - как можно запрограммировать меню на кнопке (как в этой статье http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-no...) - только с библиотекой bounce.h?
 

vvadim
Offline
Зарегистрирован: 23.05.2012

Вы хотя бы идею озвучили

anon
Offline
Зарегистрирован: 23.05.2013

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

Bounce knopka1 = Bounce(2, 200); //создаем экземпляр класса Bounce для 2 вывода

int val=1; //объявление переменной для счетчика количества нажатия кнопки

void setup()
{
pinMode(2, INPUT); //переключаем 2 вывод в режим входа, 
digitalWrite(2, 1); //включаем на нем подтягивающий резистор
Serial.begin(9600); //установка порта на скорость 9600 бит/сек (для проверки работоспособности)
}

void loop()
{

if (knopka1.update()) //при событии

{
if (knopka1.read()==0) //читаем пин, если изменился, то...

{
val++; // увеличиваем переменную на 1 - количество нажатий на кнопку
if(val>3) // количество пунктов меню - тут 3 - проставить нужное.  при превышении значения...
{
val=1; //возвращаем значение к 1 - режимы будут ходить по кругу
}
if (val==1) //режим один
{
Serial.println(" menu "); // вставить нужный код, срабатывающий при нажатии на кнопку
Serial.println(val);
}
if (val==2)
{
Serial.println(" menu ");
Serial.println(val);
}
if (val==3)
{
Serial.println(" menu ");
Serial.println(val);
}
}

knopka1.rebounce(1000); //c этим не разобрался. если объясните - буду благодарен
}

 

извините, что так неудобочитаемо, но как вставить по другому я не знаю
 

vvadim
Offline
Зарегистрирован: 23.05.2012
vvadim
Offline
Зарегистрирован: 23.05.2012

Так в чём проблема?