Здравствуйте скажите где можно почитать описание команды irsend.sendRC5(0xFFFFFF, 12);, Спасибо
Здравствуйте скажите где можно почитать описание команды irsend.sendRC5(0xFFFFFF, 12);, Спасибо
Можно на сайте разработчика
PHP код:
void IRsend::sendRC5(unsigned long data, int nbits)
{
enableIROut(36);
data = data << (32 - nbits);
mark(RC5_T1); // First start bit
space(RC5_T1); // Second start bit
mark(RC5_T1); // Second start bit
for (int i = 0; i < nbits; i++) {
if (data & TOPBIT) {
space(RC5_T1); // 1 is space, then mark
mark(RC5_T1);
}
else {
mark(RC5_T1);
space(RC5_T1);
}
data <<= 1;
}
space(0); // Turn off at end
}
Последний раз редактировалось Chip; 26.02.2012 в 04:03.
Решил поиграться с IR приемником. "Подправил" скетч:
Теперь вопрос, как сделать, чтобы при повторном нажатии кнопки - светодиод принимал противоположное значение?PHP код:
#include <IRremote.h>
int RECV_PIN = 11;
int awe=0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(22, OUTPUT);
pinMode(24, OUTPUT);
pinMode(26, OUTPUT);
pinMode(28, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results))
{
Serial.println(results.value);
if (results.value == 3772784863) // цифра 1 на пульте
{
digitalWrite (22, HIGH);
}
if (results.value == 3772817503) // цифра 2 на пульте
{
digitalWrite (24, HIGH);
}
if (results.value == 3772801183) // цифра 3 на пульте
{
digitalWrite (26, HIGH);
}
if (results.value == 3772780783) // цифра 4 на пульте
{
digitalWrite (28, HIGH);
}
if (results.value == 3772793023) // ON-OFF на пульте
{
digitalWrite (22, LOW);
digitalWrite (24, LOW);
digitalWrite (26, LOW);
digitalWrite (28, LOW);
}
delay (1000); // типа защита от повторов
irrecv.resume(); // Receive the next value
}
}
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Придумал - скетч корявый, но рабочий
PHP код:
#include <IRremote.h>
int RECV_PIN = 11;
int awe=0;
int stat1 = 0;
int stat2 = 0;
int stat3 = 0;
int stat4 = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(22, OUTPUT);
pinMode(24, OUTPUT);
pinMode(26, OUTPUT);
pinMode(28, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results))
{
Serial.println(results.value);
stat2=digitalRead(24);
stat3=digitalRead(26);
stat4=digitalRead(28);
if (results.value == 3772784863)
{
stat1=digitalRead(22);
if (stat1 == 0)
{
digitalWrite (22, HIGH);
delay(500);
}
else
{
digitalWrite (22, LOW);
delay(500);
}
}
if (results.value == 3772817503)
{
stat1=digitalRead(22);
if (stat2 == 0)
{
digitalWrite (24, HIGH);
delay(500);
}
else
{
digitalWrite (24, LOW);
delay(500);
}
}
if (results.value == 3772801183)
{
stat3=digitalRead(26);
if (stat3 == 0)
{
digitalWrite (26, HIGH);
delay(500);
}
else
{
digitalWrite (26, LOW);
delay(500);
}
}
if (results.value == 3772780783)
{
stat1=digitalRead(28);
if (stat4 == 0)
{
digitalWrite (28, HIGH);
delay(500);
}
else
{
digitalWrite (28, LOW);
delay(500);
}
}
if (results.value == 3772793023)
{
digitalWrite (22, LOW);
digitalWrite (24, LOW);
digitalWrite (26, LOW);
digitalWrite (28, LOW);
}
delay(500);
irrecv.resume();
}
}
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
а с таким модулем будет работать скетч?
Nissan Almera N16 продана
Работать будет, только частоту бы приемника узнать не мешало бы.
В документации присутствует схема и скетч.
Код HTML:Incept Code(download Arduino NO.1): #define ADD 0x00 int IR_S = 2; int a; void setup() { pinMode(IR_S,OUTPUT); Serial.begin(115200); } void loop() { uint8_t dat,temp; { a=analogRead(0); temp = a/4; Serial.println(temp,DEC); IR_Send38KHZ(280,1); IR_Send38KHZ(140,0); IR_Sendcode(ADD); dat = ~ADD; IR_Sendcode(dat); IR_Sendcode(temp);
Nissan Almera N16 продана
Из скетча видно что 38KHZ, значит подойдет
Камнями не кидать! Ситуация такая. Переставил винду. Закинул IRKey.exe в автозагрузку, как и раньше было. Запускается вместе с виндой, НО! не работает вообще. И не реагирует ни на что! Даже блин через диспечер задач не вышибается!?! Хуже вирусни (поставил антивирь... не вирусня)! Если убираю из автозапуска и запускаю вручную - то всё чудесно робит. В чем может быть проблем?
P.S. система win7 32, ярлык с правами администратора... три дня уже тыкаюсь безрезультатно!
Драйвер нужно последний установить и программу с прошивкой лучше тоже обновить
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)