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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
automobiliste
Родился
Сообщения: 10
Зарегистрирован: Вт фев 07, 2017 19:51:34

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

Сообщение automobiliste »

начал изучать ардуинку и столкнулся с такой проблемой. сращиваю 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
Реклама
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

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

Сообщение Zhuk72 »

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

По какому протоколу приставка работает?
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Реклама
Ответить

Вернуться в «Разные вопросы по МК»