Уже пошёл разговор не по теме, и это не хорошо. Но вожусь, не могу понять в чём дело. :-(rw6cm писал(а):Что за пульт, какой датчик на приемнике, сделана ли в нем схема развязки?
У меня arduino NANO 328 (почему-то не дружу с нано, две загубил, т.к. не мог хорошо припаять контакты, купил с припаянными теперь, но всё равно не дружат они со мной), ИК chq 1838 (вроде бы был рабочий, но уже менял на другой из пакета, так что теперь не знаю, но ломаных пока не встречал). Схема, какая схема?
В начале, грузилось с FLPROG, но ошибок не было. Решил, протестировать, просто загрузить ручной тестовый скетч из Arduino. Хм, оказалось, что при загрузки из Arduino выдаёт ошибку конфликта пути до библиотеки. Недавно переустанавливал систему, а Arduino оставил на диске D. Решил, что ошибка где-то здесь. Вначале устанавливал новые библиотеки, но ошибок прибавилось. Почему то прога говорила "Конфликт библиотеки на D: и на C:Мои документы". Там/сям их удаляя, теперь проге не нравилось, что библиотеки отсутствуют. Не могу разобрать логики программы... Сегодня всё почистил, скачал, поставил по новой, как должно быть. Конфликт пропал, скетч грузится, я вздохнул с облегчением... Но... всё так же не работает :-( Что за бред?
Поглядите:
(Скетч от Дмитрия Осипова, всегда работал, коды пульта мои, раньше пахал. Пульт старенький от DVD LG - хорошие сигналы выдаёт)
#include <IRremote.h>
int RECV_PIN = 11; //вход ИК приемника
IRrecv irrecv(RECV_PIN);
decode_results results;
int a=0; // переменная переключения режима, при нажатии кнопки она принимает значение +1
int c=0; //
void setup()
{
irrecv.enableIRIn(); // включить приемник
pinMode(13, OUTPUT);
pinMode(3, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
delay(300); // задержка перед выполнением определения кнопок, чтобы избежать быстрое двойное нажатие
if (results.value == 0xB4B40CF3) {a=a+1;}
if (results.value == 0xB4B46C93) {c=c+1;}
// начинаем включать светодиоды на пинах
if (a==1){digitalWrite(13, HIGH);} else {digitalWrite(13, LOW); a=0;}
if (c==1){digitalWrite(3, HIGH);} else {digitalWrite(3, LOW); c=0;}
{ //
delay(50); //пауза между повторами //
} //
irrecv.resume(); //
}
}