Управление нагрузкой при помощи пульта ДУ
- Войдите на сайт для отправки комментариев
Чт, 12/03/2015 - 22:00
Всем пивет! Решил переделать код из видео в более компактный:
#include <IRremote.h> IRrecv irrecv(11); decode_results results; int leds [] {7, 6, 5, 4,}; int keys [] {0x926D22DD, 0x926DA25D, 0x926D629D, 0x926D609F, 0x926DE01F}; void setup() { irrecv.enableIRIn(); for (int i = 0; i <= 4; i++) { pinMode(leds[i], OUTPUT); } } void loop() { if (irrecv.decode(&results)) { for (int num = 0; num <= 5; num++) { if (results.value = keys[num]) { digitalWrite(leds[num], !digitalRead(leds[num])); } } irrecv.resume(); // Receive the next value } delay(250); }
Но при нажатии на любую кнопку пульта загораются все светодиоды, при повторном нажатии на любую другую кнопку светодиоды гаснут, если задержать кнопку светодиоды начинают моргать.
В Arduino новичек, по этому не судите строго.
Заранее спасибо!
if
(results.value = keys[num]) {
надо
if
(results.value == keys[num]) {
В таком случаее вообще ничего не работает, из-за этого и поставил = вместо == стало хоть как-то работать
В таком случаее вообще ничего не работает, из-за этого и поставил = вместо == стало хоть как-то работать
= это операция присваивания
== это оператор сравнения
if - управляющий оператор, принимающий решение на основании сравнения.
Вставляйте Serial.println и мониторьте переменную, которая вызывает сомнения. И для отладки задержку стоит побольше сделать.
Задержка в данном скетче никакой функции не несет, можно вообще убрать, пусть себе if (irrecv.decode(&results)) крутится.
Задержка в данном скетче никакой функции не несет, можно вообще убрать, пусть себе if (irrecv.decode(&results)) крутится.
А в сериале не начнет слишком быстро гнать?
Я вижу Serial.println(results.value, HEX) после if (irrecv.decode(&results)) {, и срабатывать он будет только по "свежему" нажатию на пульте.
if
(results.value = keys[num]) {
надо
if
(results.value == keys[num]) {
Так будет работать правильней если сместо keys[num] прописать код конкретной кнопки, будет реагировать только на нее и зажитать светодиоды
Готовая заготовка ( именно так ) к пультику с ебая: