ИК приемник
- Войдите на сайт для отправки комментариев
Пт, 04/10/2013 - 00:01
Имеется: 3 датчика температуры, экран, ик приемник.
Задача: включать/выключать подсветку экрана по кнопке на пульте
код примерно такой:
... int pause = 500; bool ledon; ... void setup() { ... lcd.backlight(); ... } void loop() { if (pause==500) { ... обновляем температуру с 3-ех датчиков на экране ... pause=1; } else pause=pause+1; //получаем команду с ик пульта if (irrecv.decode(&results)) { Serial.println(results.value); if(results.value==16753245) { ledon=!ledon; if (ledon==1) lcd.backlight(); else lcd.noBacklight(); } irrecv.resume(); } delay(10); }
Все работает почти как надо
Проблема в том, что если нажать на пульте кнопку в момент, когда обновляется температура - ничего не произойдет.
Как это граммотно реализовать?
Пока только 2 варианта в голове:
1) увеличить период обновления с 5сек до...
2) опрашивать 3 датчика отдельно, подвисать должно меньше.
Буду рад выслушать ваши варианты.
Спасибо
прерывания для этого есть. надо смотреть как с ними библиотеки работают.
тоесть в момен изменения уровня на ик приемнике ардуина должна начать его обрабатывать - получить полностью весь код или ожидать его получения в цикле и выйти из него по таймауту.
Вопросик немного не потеме, нашел примеры работы с IR приемником, после приема посылки вывод в serial port. ЕСли подключить ардино Uno к компу через терминал увижу ли я данные?
Вопросик немного не потеме, нашел примеры работы с IR приемником, после приема посылки вывод в serial port. ЕСли подключить ардино Uno к компу через терминал увижу ли я данные?
Если данные в ком порт отправляются конечно увидите.