Помогите переделать код
- Войдите на сайт для отправки комментариев
Пт, 07/07/2017 - 19:20
Есть код для работы с ИК диодом, замечательно включает и выключает телевизор Samsung
const unsigned int S_pwr[68]={4600,4350,700,1550,650,1550,650,1600,650,450,650,450,650,450,650,450,700,400,700,1550,650,1550,650,1600,650,450,650,450,650,450,700,450,650,450,650,450,650,1550,700,450,650,450,650,450,650,450,650,450,700,400,650,1600,650,450,650,1550,650,1600,650,1550,650,1550,700,1550,650,1550,650};
#include "IRremote.h"
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
irsend.sendRaw(S_pwr,68,38);
delay(1*1000);
}
Однако мне надо переделать под другую технику, ресивер Pioneer, а у него в мануале такая последовательность.
Другое количество значений и другого формата. Как переделать?
0000,0068,0000,0022,0168,00B4,0016,0043,0016,0016,0016,0043,0016,0016,0016,0016,0016,0043,0016,0016,0016,0043,0016,0016,0016,0043,0016,0016,0016,0043,0016,0043,0016,0016,0016,0043,0016,0016,0016,0016,0016,0016,0016,0043,0016,0043,0016,0043,0016,0016,0016,0016,0016,0016,0016,0043,0016,0043,0016,0016,0016,0016,0016,0016,0016,0043,0016,0043,0016,0043,0016,03DD
Ну, также как здесь передаёте. Вы этот код сами писали? Или где-то скачали и не понимаете, что в нём написано?
Так тип массива другой нужен, не понимаю каким он должен быть типом
Так тип массива другой нужен, не понимаю каким он должен быть типом
так переведите в десятичный вид ваш массив
Переконвертнул, не работает пульт
Видимо у меня команды неправильные для ресивера Pioneer
Может у кого-нибудь есть ресивер Pioneer, считайте пож код кнопки питания с пульта...
считал правильный код с пульта, а он не работает (((
какие могут быть тонкости? другая техника без проблем работает
Все получилось, всем спасибо
#include <IRremote.h> IRsend irsend; int rab = 1 ; void setup() { pinMode (4, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop() { boolean button1 = !digitalRead (4) ; if (button1 == 1) { rab = !rab ; } if (button1 == 1) { if (rab ==1) { digitalWrite(13, HIGH); for (int i = 0; i < 3; i++) { irsend.sendNEC(0xA55AF00F, 32); //вкл delay(40); }} if (rab ==0) { digitalWrite(13, LOW); for (int i = 0; i < 3; i++) { irsend.sendNEC(0xA55A30CF, 32); //выкл delay(40); }} } }