начал изучать ардуинку и столкнулся с такой проблемой. сращиваю 2 пульта(ростелеком и панасоник. один от тв приставки второй от телика. мониторю порт и с ростелекомовского пульта 4 разные команды идут. причем если удерживать кнопку одна и таже команда,а если отпустить и нажать- другая. скетч в инете нашел.подменил на свои коды(только коды) . телевизор не реагирует хотя если на диод смотреть через камеру мобильника,то какие то коды идут. где я косячу? сращиваю через ретранслятор. принцип как у автора видео. забыл сказать. у меня ардуино нано.
#include <IRremote.h>
#define POWER_KEY 0x40BF00FF // коды пульта ДУ
#define VOLM 0x40BF7887
#define VOLP 0x40BFF807
#define CHP 0xC03FC03F
#define CHM 0xC03F40BF
#define SONY_POWER_KEY 0xA90
#define SONY_VOLM 0xC90
#define SONY_VOLP 0x490
#define SONY_CHP 0x90
#define SONY_CHM 0x890
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN); // приемник, на 11 ногу
IRsend irsend; // светодиод, для UNO по умолчанию на 3 ногу
decode_results results;
void setup() {
Serial.begin(9600);
pinMode(12, OUTPUT); // питание приемника
pinMode(13, OUTPUT);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) { // если пришла команда
Serial.println(results.value, HEX); // для отладки
irsend.enableIROut(38); // включаем перечу на 38кгц (хз сколько там по умолчанию)
delay(10);
for (int i = 0; i < 3; i++) { // в цикле, который крутится 3 раза
if (results.value == POWER_KEY) irsend.sendSony(SONY_POWER_KEY, 12); // сверяем команду и если совпала отправляем от сони
else if (results.value == VOLM) irsend.sendSony(SONY_VOLM, 12); //// техника сони понимает только с третьего раза
else if (results.value == VOLP) irsend.sendSony(SONY_VOLP, 12);
else if (results.value == CHP) irsend.sendSony(SONY_CHP, 12);
else if (results.value == CHM) irsend.sendSony(SONY_CHM, 12);
delay(40);
}
irrecv.resume(); // Receive the next value
irrecv.enableIRIn(); // после отправки нужно заного включить прием
}
}
Добавлено after 39 seconds:https://www.youtube.com/watch?v=cX9sqR_FFyY