Помогите переделать код

pridecom
Offline
Зарегистрирован: 07.07.2017

Есть код для работы с ИК диодом, замечательно включает и выключает телевизор 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

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, также как здесь передаёте. Вы этот код сами писали? Или где-то скачали и не понимаете, что в нём написано?

pridecom
Offline
Зарегистрирован: 07.07.2017

Так тип массива другой нужен, не понимаю каким он должен быть типом

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

pridecom пишет:

Так тип массива другой нужен, не понимаю каким он должен быть типом

так переведите в десятичный вид ваш массив

pridecom
Offline
Зарегистрирован: 07.07.2017

Переконвертнул, не работает пульт

Видимо у меня команды неправильные для ресивера Pioneer

const unsigned int S_pwr2[72]={0,104,0,34,360,180,22,67,22,22,22,67,22,22,22,22,22,67,22,22,22,67,22,22,22,67,22,22,22,67,22,67,22,22,22,67,22,22,22,22,22,22,22,67,22,67,22,67,22,22,22,22,22,22,22,67,22,67,22,22,22,22,22,22,22,67,22,67,22,67,22,989};
 
pridecom
Offline
Зарегистрирован: 07.07.2017

Может у кого-нибудь есть ресивер Pioneer, считайте пож код кнопки питания с пульта...

pridecom
Offline
Зарегистрирован: 07.07.2017

считал правильный код с пульта, а он не работает (((

какие могут быть тонкости? другая техника без проблем работает

pridecom
Offline
Зарегистрирован: 07.07.2017

Все получилось, всем спасибо

#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); }}
 }

}