Re: Arduino Board (3d IR / RF Sync)
итак на выходных потратил всё свое свободное время на эксперименты со считыванием инфракрасных сигналов и попытке их повторить.
но чтото нихера у мнея не вышло.
играюсь с пультом от мака IRrecvDump выдает RAW
убрав минусы и подставив запятые, посылаю сигнал как описано здесь
http://dduino.blogspot.com/2011/11/u...ontrol-tv.html
на данный момент как я понимаю проблем несколько.
1.может я путаю LOW/HIGHT при попытке послать RAW сигнал при помощи готовой библиотеки, или сколько раз нужно послать код, к примеру для сони нужно послать 3 раза
2.важна и частота тоесть 38 это не для всех
к примеру у сони 40герц, как узнать какая частота идет с телика на очки пока непонятно. но мнебы хоть с пультом разобраться
но прога распознала стандарт посылаемого сигнала как NEC значит герзовка у меня правильная
3.не пойму, где указывать порт, на котором висит мой передатчик
на шилде у меня он висит на 4м конткте, ну и я еще могу подрубить дополнительный на любой контакт кроме 4го и 11(ир приемник)
IRsendDemo
вобщем систему я вроде как вкурил, вечером буду копать дальше
-----------
http://luckylarry.co.uk/arduino-proj...the-tv-remote/
такс, вроде всё делаю правильно, только нужно внешний к 3му контакту
http://www.arcfn.com/2009/08/multi-p...e-library.html
угу, тупо комменты читать я не в состоянии
IRremote.cpp
тут еще матчасть, которую мне не помешалобы вкурить
http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM
еще матчасть, для изучения портов и работы с ними
http://arduino.cc/en/Hacking/PinMapping168
http://www.arduino.cc/en/Reference/PortManipulation
тут описана переделка класса под АТмега1280 с третьего для уно на 7й для 1280
http://www.arduino.cc/cgi-bin/yabb2/...num=1295194600
итак на выходных потратил всё свое свободное время на эксперименты со считыванием инфракрасных сигналов и попытке их повторить.
но чтото нихера у мнея не вышло.
играюсь с пультом от мака IRrecvDump выдает RAW
77E1D09A
Decoded NEC: 77E1D09A (32 bits)
Raw (6: -24188 9050 -4550 550 -600 600 -1700 600 -1650 600 -1700 600 -550 600 -1700 600 -1700 600 -1650 600 -1700 600 -1700 600 -1650 600 -600 600 -550 600 -550 600 -600 600 -1700 550 -1700 600 -1700 600 -550 600 -1700 600 -550 600 -600 600 -550 600 -550 600 -1700 600 -550 600 -550 600 -1700 600 -1700 600 -550 600 -1700 600 -550 600
Decoded NEC: 77E1D09A (32 bits)
Raw (6: -24188 9050 -4550 550 -600 600 -1700 600 -1650 600 -1700 600 -550 600 -1700 600 -1700 600 -1650 600 -1700 600 -1700 600 -1650 600 -600 600 -550 600 -550 600 -600 600 -1700 550 -1700 600 -1700 600 -550 600 -1700 600 -550 600 -600 600 -550 600 -550 600 -1700 600 -550 600 -550 600 -1700 600 -1700 600 -550 600 -1700 600 -550 600
http://dduino.blogspot.com/2011/11/u...ontrol-tv.html
Код:
irsend.sendRaw(powerOn,68,38);
1.может я путаю LOW/HIGHT при попытке послать RAW сигнал при помощи готовой библиотеки, или сколько раз нужно послать код, к примеру для сони нужно послать 3 раза
2.важна и частота тоесть 38 это не для всех
к примеру у сони 40герц, как узнать какая частота идет с телика на очки пока непонятно. но мнебы хоть с пультом разобраться
Код:
void IRsend::sendRaw(unsigned int buf[], int len, int hz)
3.не пойму, где указывать порт, на котором висит мой передатчик
на шилде у меня он висит на 4м конткте, ну и я еще могу подрубить дополнительный на любой контакт кроме 4го и 11(ир приемник)
IRsendDemo
Код:
/* * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend * An IR LED must be connected to Arduino PWM pin 3. * Version 0.1 July, 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com */ #include <IRremote.h> IRsend irsend; void setup() { Serial.begin(9600); } void loop() { if (Serial.read() != -1) { for (int i = 0; i < 3; i++) { irsend.sendNEC(0x77E1D09A, 68); // Sony TV power code delay(100); } } }
-----------
http://luckylarry.co.uk/arduino-proj...the-tv-remote/
такс, вроде всё делаю правильно, только нужно внешний к 3му контакту
http://www.arcfn.com/2009/08/multi-p...e-library.html
* An IR LED must be connected to Arduino PWM pin 3.
IRremote.cpp
TCCR2A |= _BV(COM2B1); // Enable pin 3 PWM output
http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM
еще матчасть, для изучения портов и работы с ними
http://arduino.cc/en/Hacking/PinMapping168
http://www.arduino.cc/en/Reference/PortManipulation
тут описана переделка класса под АТмега1280 с третьего для уно на 7й для 1280
#if defined (__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
TCCR4A |= _BV(COM4B1); // Enable Mega Pin 7 PWM output
#else
TCCR2A |= _BV(COM2B1); // Enable Duelimanove/UNO PWM Pin 3 output
#endif
TCCR4A |= _BV(COM4B1); // Enable Mega Pin 7 PWM output
#else
TCCR2A |= _BV(COM2B1); // Enable Duelimanove/UNO PWM Pin 3 output
#endif
Комментарий