Ик диммер на двух кнопках

rave0000
Offline
Зарегистрирован: 03.12.2014

А как сделать так чтобы при уменьшении яркости до минимума при удержании кнопки не включался опять канал?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ты изменил шаг на 5. а условие 

не поправил на 

в другую сторону аналогично

rave0000
Offline
Зарегистрирован: 03.12.2014

все равно не понял. я имею ввиду чтобы кнопка вкл. была яркость + а кнопка выкл. яркость - вот что !

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

byte переменная может принимать значения от 0 до 255

если например к 254 добавить 1 получим 255. еще раз и будет 0. возникает переполнение

и тоже самое когда 249+5=254. 254+5=3. началось сначала. вот такая математика

поэтому если неправильно настроил условия у тебя постоянно будет перескакивать

rave0000
Offline
Зарегистрирован: 03.12.2014

да неее ! я знаю не перескакивает просто  я имею ввиду чтобы кнопка вкл. была яркость + а кнопка выкл. яркость - вот что

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

 

rave0000
Offline
Зарегистрирован: 03.12.2014

сейчас работает только яркость и все!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

я взял твой переделанный код и просто поменял кнопки местами для регулировки яркости

rave0000
Offline
Зарегистрирован: 03.12.2014

попробуй загрузи себе и все поймешь !

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

не хочу

rave0000
Offline
Зарегистрирован: 03.12.2014

ладно все равно большое спасибо за помощь !

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

допиливай код как тебе уже будет удобно. удачи

std
Offline
Зарегистрирован: 05.01.2012

rave0000, у меня нечто подобное есть: http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku?page=5#comment-89760

Действие on/off надо делать не по кнопке, а по флагам:

- последнее срабатывание не мотало (light--, light++)

- отпущено раньше чем минимум 3 мотания

Соответственно, на условие мотать +/- с шагом надо добавить: получить минимум 3 кода этой кнопки, поставить флаг что это не однократная кнопка. Отличить нажимание от удерживания возможно только так, то есть однократное условие проверяет реально не саму кнопку а отпускание кнопки. Не позже определённого момента (в данном примере 3 срабатывания). Иначе мотать +/-.