ИК управление реле
- Войдите на сайт для отправки комментариев
Пнд, 24/04/2017 - 17:22
Приветствую. Помогите чайнику разобраться. Есть кусок кода управления реле ИК пультом.
#include <IRremote.h> // подключаем библиотеку IRrecv irrecv(2); // пин IR приемника decode_results results; void setup() // процедура setup { irrecv.enableIRIn(); // запускаем прием pinMode(8, OUTPUT); } void loop() { if (irrecv.decode(&results)) // читаем { // включаем если получен сигнал if (results.value == 0xFF02FD) digitalWrite(8, HIGH); } }
Научите как изменить код чтобы работал алгоритм : держишь кнопку - вкл, отпустил - выкл. нужна работа 3 выходов от трёх кнопок
Между строками 20 и 21 явно не хватает resume
Это не так просто, как Вам, возможно кажется. При удержании кнопки, Вы будете снова и снова получать коды повторения. Вам нужно их обрабатывать, а если в течение заданного интервала код не пришёл - выполнять действие по "отпусканию" кнопки
Между строками 20 и 21 явно не хватает resume
Это не так просто, как Вам, возможно кажется. При удержании кнопки, Вы будете снова и снова получать коды повторения. Вам нужно их обрабатывать, а если в течение заданного интервала код не пришёл - выполнять действие по "отпусканию" кнопки
я по этому и не справился. а если чтоб при нажатии пульта происходило включение на пол-секунды. объясню для чего это нужно. собрал часы на ГРИ ИН14. управление тремя тактовыми кнопками. хочу прикрутить на ардуино про мини пульт.
я по этому и не справился.
Вы не поэтому не справились, а потому что даже не попытались справиться - даже не попробовали.
Могу подсказать с чего начать:
напишите программу. которая просто печатает любой полученный с пульта код в сериал и ждёт следующего, чтобы и его напечатать и так бесконечно. Запустите, нажимайте пульт, держите, отпускайте, смотрите, что приходит и думайте. Посмотрите, что приходит, поймёте как решить задачу.
ну это я знаю. первый раз проходит код кнопки, а потом идёт защита от дребезга
ну это я знаю. первый раз проходит код кнопки, а потом идёт защита от дребезга
Не знаете. Это не защита от дребезга, а код повтора. Который означает, что нажатая кнопка удерживается.
Сделайте так, как написал ЕвгенийП в посте #3
а потом идёт защита от дребезга
Перестаньте бредить
ну это я знаю.
Ну, я же Вам сказал "сделайте. посмотрите и подумайте - решение придёт".
Вы не хотите делать, т.к. и так всё знаете. Ну, знаете, так и решайте проблему, за чем дело-то стало?
я новичёк, спрашиваю совета. мог и не так выразится. чего сразу нервничать ? у Вас сразу всё получалось ?
правильно я понимаю, что нужно на отключение прописать команду 0хFFFFFFF которая указывает удержание кнопки ?
Вы сделали то, что сказал? Если сделали, давайте сюда лог из сериала (скопипастите). Если нет, то решайте свою проблему сами, раз Вы лучше знаете что нужно делать. а что нет.
0xFF629D
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
так ?
если сделать вот так то очень похоже на щелчёк механической кнопки.
что бы два канала добавить нужно последовательно ещё два раза прописать с другими кодами ?
0xFF629D
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
0xFFFFFFFF
так ?
Нет. Я же Вам писал (Вы вообще читаете?) "Запустите, нажимайте пульт, держите, отпускайте". Вот в этом месте где Вы отпустили кнопку? Сделайте подобный лог с пометками "здесь нажал", "здесь отпустил". И в каждой строке, в плюс к коду лучше печатать значения millis(), чтобы понятен был масштаб времени. Смысл этой работы - всё видеть! А что видно на Вашем кусочке?
Только мне то это сразу выкладывать не надо. Сами сначала подумайте, а уж если никак, то выкладывайте.
что бы два канала добавить нужно последовательно ещё два раза прописать с другими кодами ?
Давайте, Вы сначала один сделаете. А там глядишь и вопросв поубавится.
получилось у меня вот так. коряво, но вроде работает. правда на пульт реагирует через раз. грешу на подключение датчика ик без должной обвязки