Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

вопрос по ардуино и ик ретранслятору

Пн апр 17, 2017 21:07:11

начал изучать ардуинку и столкнулся с такой проблемой. сращиваю 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

Re: вопрос по ардуино и ик ретранслятору

Вт апр 18, 2017 11:29:19

http://www.sbprojects.com/knowledge/ir/sirc.php
И обратите внимание на частоту и скважность несущей.

По какому протоколу приставка работает?
Ответить