bluetooth и Посылка ИК сигнала с ардуино в ТВ. RAW работает, NEC нет.

tru2008
Offline
Зарегистрирован: 22.10.2014

У меня 2 проблемы:

1. Есть телевизор с кодировкой NEC если верить Iremote Dump. Не могу послать сигнал NEC, с raw все нормально

Decoded NEC: 38863BD2 (32 bits)
Raw (88): 2820 8950 -4500 600 -500 600 -550 500 -1750 550 -1700 600 -1600 550 -600 600 -500 600 -550 500 -1700 600 -550 550 -600 550 -550 600 -500 550 -1700 600 -1650 600 -500 600 -550 550 -600 550 -1650 550 -1700 600 -1650 600 -500 600 -1650 600 -1650 550 -1700 600 -1650 600 -500 600 -1650 600 -500 600 -550 550 -1700 600 -500 550 -600 600 -500 600 -1650 600 -500 600 -1700 550 -1650 550 -600 600 -1650 500 -1700 600 -1650 600 

2. Как сократь код? Я хочу управлять телевизором через bluetooth (отправлять с телефона через bluetooth данные в терминал). Может подскажете как лучше организовать управление.

Если раскоментировать строки с 79, то в терминал ничего не приходит, но код отрабатывает.

 

Ну и бонусом хотелось бы узнать есть ли библиотеки, которые работают с телевизорами самсунг.

#include <IRremote.h>

//int RECV_PIN = 11;
//IRrecv irrecv(RECV_PIN);

//decode_results results;
IRsend irsend;
// кухня
unsigned int k_pwr[88]={8950, 4500, 550, 550, 550, 600, 500, 1700, 550, 1750, 500, 1700, 550, 600, 550, 550, 550, 600, 500, 1700, 550, 600, 500, 600, 550, 600, 500, 600, 500, 1750, 550, 1700, 550, 550, 550, 600, 500, 600, 550, 1700, 500, 1750, 550, 1700, 550, 550, 550, 1700, 550, 1700, 500, 1750, 550, 1700, 550, 550, 550, 1700, 550, 550, 550, 600, 500, 1750, 550, 550, 500, 650, 550, 550, 550, 1700, 550, 550, 550, 1700, 550, 1700, 500, 650, 500, 1700, 550, 1700, 550, 1700, 550};

// зал
unsigned int z_pwr[68]={ 4500, 4400, 600, 1650, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600, 1600, 600};
unsigned int z_source[68]={ 4400, 4500, 600, 1600, 550, 1700, 600, 1600, 600, 550, 550, 550, 550, 600, 600, 500, 550, 600, 600, 1600, 550, 1700, 600, 1600, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 550, 550, 600, 600, 500, 600, 550, 600, 500, 550, 600, 600, 500, 550, 550, 550, 1700, 600, 1650, 550, 1650, 600, 1650, 600, 1600, 550, 1700, 600, 1650, 550};
unsigned int z_tv[68]={ 4400, 4450, 600, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550};
unsigned int z_1[68]={ 4500, 4350, 650, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 550, 600, 1600, 650, 1600, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_2[68]={ 4500, 4400, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_3[68]={ 4550, 4350, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1600, 650};
unsigned int z_4[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 500, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_5[68]={ 4450, 4400, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 1550, 700, 1600, 650, 1550, 650};
unsigned int z_6[68]={ 4450, 4450, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 500, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1700, 550, 1650, 600};
unsigned int z_7[68]={ 4450, 4450, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 600, 500, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 1650, 600};
unsigned int z_8[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 1700, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 1650, 600};
unsigned int z_9[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1700, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 500, 600, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_0[68]={ 4450, 4450, 550, 1650, 600, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 550, 1700, 600, 1650, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 550, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1650, 550, 1700, 600, 1650, 550, 550, 600, 1650, 550, 1650, 550, 1700, 550};


void setup()
{
  Serial.begin(9600);
}

void loop() 
{
irsend.enableIROut(38);

if (Serial.available() > 0) 
{
 char Str = Serial.read();
 
    
  switch (Str) {
    
    case 'zpw':  
      irsend.sendRaw(z_pwr, 88, 32); delay(40);
      irsend.sendRaw(z_pwr, 88, 32);  
   delay(1000);   
      Serial.print("ok zpw");
     break;
    case 'zso':    
      irsend.sendRaw(z_source, 88, 32); delay(40);
      irsend.sendRaw(z_source, 88, 32);      
      Serial.print("ok so");
     break;
    case 'ztv':    
      irsend.sendRaw(z_tv, 88, 32); delay(40);
      irsend.sendRaw(z_tv, 88, 32);      
      Serial.print("ok ztv");
     break;
    case 'z1':    
      irsend.sendRaw(z_1, 88, 32); delay(40);
      irsend.sendRaw(z_1, 88, 32);      
      Serial.println("ok z1");
     break;
    case 'z2':    
      irsend.sendRaw(z_2, 88, 32); delay(40);
      irsend.sendRaw(z_2, 88, 32);      
      Serial.println("ok z2");
     break;
    case '3':    
      irsend.sendRaw(z_3, 88, 32); delay(40);
      irsend.sendRaw(z_3, 88, 32);      
      Serial.println("ok z3");
     break;
    case '4':    
      irsend.sendRaw(z_4, 88, 32); delay(40);
      irsend.sendRaw(z_4, 88, 32);      
      Serial.println("ok z4");
     break;
//    case '5':    
//      irsend.sendRaw(z_5, 88, 32); delay(40);
//      irsend.sendRaw(z_5, 88, 32);      
//      Serial.println("ok z5");
//     break;
//    case '6':    
//      irsend.sendRaw(z_6, 88, 32); delay(40);
//      irsend.sendRaw(z_6, 88, 32);      
//      Serial.print("ok z6");
//     break;
//    case '7':    
//      irsend.sendRaw(z_7, 88, 32); delay(40);
//      irsend.sendRaw(z_7, 88, 32);      
//      Serial.print("ok z7");
//     break;
//    case '8':    
//      irsend.sendRaw(z_8, 88, 32); delay(40);
//      irsend.sendRaw(z_8, 88, 32);      
//      Serial.print("ok z8");
//     break;
//    case '9':    
//      irsend.sendRaw(z_9, 88, 32); delay(40);
//      irsend.sendRaw(z_9, 88, 32);      
//      Serial.print("ok z9");
//     break;
//    case '0':    
//      irsend.sendRaw(z_0, 88, 32); delay(40);
//      irsend.sendRaw(z_0, 88, 32);      
//      Serial.print("ok z0");
//     break;
//
// 
     }
        
 //}
  
// else // Если первым в команде приходит z 
//{
// Serial.println(i); 
//}
  }

}

 

Radjah
Offline
Зарегистрирован: 06.08.2014

Читаешь один байт, а сравниваешь со строкой.

tru2008
Offline
Зарегистрирован: 22.10.2014

Изменил код, но если раскоментировать строки начиная с 118, то программа перестает работать.

#include <IRremote.h>

IRsend irsend;

// зал
unsigned int z_pwr[68]={ 4500, 4400, 600, 1650, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600, 1600, 600};
unsigned int z_source[68]={ 4400, 4500, 600, 1600, 550, 1700, 600, 1600, 600, 550, 550, 550, 550, 600, 600, 500, 550, 600, 600, 1600, 550, 1700, 600, 1600, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 550, 550, 600, 600, 500, 600, 550, 600, 500, 550, 600, 600, 500, 550, 550, 550, 1700, 600, 1650, 550, 1650, 600, 1650, 600, 1600, 550, 1700, 600, 1650, 550};
unsigned int z_tv[68]={ 4400, 4450, 600, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550};
unsigned int z_1[68]={ 4500, 4350, 650, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 550, 600, 1600, 650, 1600, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_2[68]={ 4500, 4400, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_3[68]={ 4550, 4350, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1600, 650};
unsigned int z_4[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 500, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_5[68]={ 4450, 4400, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 1550, 700, 1600, 650, 1550, 650};
unsigned int z_6[68]={ 4450, 4450, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 500, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1700, 550, 1650, 600};
unsigned int z_7[68]={ 4450, 4450, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 600, 500, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 1650, 600};
unsigned int z_8[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 1700, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 1650, 600};
unsigned int z_9[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1700, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 500, 600, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_0[68]={ 4450, 4450, 550, 1650, 600, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 550, 1700, 600, 1650, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 550, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1650, 550, 1700, 600, 1650, 550, 550, 600, 1650, 550, 1650, 550, 1700, 550};
unsigned int z_1_[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 600, 550, 550, 1650, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 1650, 550, 1700, 550};
unsigned int z_rw[68]={ 4450, 4450, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 500, 550, 600, 550, 1650, 550, 1700, 600, 500, 600, 550, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 600, 550, 550, 1650, 550, 1700, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_plus[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 600, 500, 550, 600, 500, 1700, 600, 1650, 550, 1650, 600, 550, 550, 550, 600, 550, 600, 500, 550, 550, 550, 600, 550, 1650, 600, 550, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 1650, 550, 1700, 600, 1650, 550};
unsigned int z_vol_plus[68]={ 4450, 4450, 600, 1600, 600, 1650, 600, 1650, 600, 500, 550, 550, 550, 600, 600, 500, 600, 550, 600, 1600, 550, 1700, 600, 1600, 650, 500, 600, 500, 550, 600, 550, 550, 550, 600, 600, 1600, 550, 1700, 600, 1600, 600, 550, 600, 500, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1700, 550, 1650, 550, 1700, 550};
unsigned int z__vol_minus[68]={ 4500, 4400, 600, 1600, 650, 1600, 650, 1600, 600, 500, 600, 500, 650, 500, 650, 450, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 650, 450, 650, 500, 600, 500, 600, 550, 600, 1600, 650, 1600, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 500, 650, 1600, 650, 450, 650, 1600, 650, 1600, 600, 1600, 650, 1600, 600};
unsigned int z_mute[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 1700, 550};
unsigned int z_chlist[68]={ 4500, 4400, 600, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 1600, 650, 500, 600, 1600, 650, 500, 600, 500, 600, 1650, 600};
unsigned int z_menu[68]={ 4500, 4350, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 500, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_srs[68]={ 4500, 4400, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 1600, 650, 1600, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 500, 600, 500, 650, 1600, 600};
unsigned int z_tools[68]={ 4450, 4450, 600, 1650, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 600, 500, 600, 550, 600, 1650, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 600, 1650, 600, 500, 600, 1650, 550, 550, 550, 600, 550, 1650, 600, 550, 600, 500, 600, 550, 550, 1650, 550, 600, 550, 1650, 550, 1700, 600, 500, 550, 1700, 550};
unsigned int z_return[68]={ 4500, 4400, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 1600, 650, 500, 600, 1600, 650, 500, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 500, 650, 1600, 600, 500, 650, 1600, 600};

char x,y,z;
char ser [3];

void setup()
{
  Serial.begin(9600);
  
}

void loop() 
{
irsend.enableIROut(38);

//int x,y,z = 0;
if (Serial.available() >= 2) 
{
 Serial.readBytes(ser,6); delay(2);

 x=ser[0]; y=ser[1]; z=ser[2];
  Serial.print("x = ");Serial.println(x);
  Serial.print("y = ");Serial.println(y);
  Serial.print("z = ");Serial.println(z);
//Serial.println(ser);
  if (x == 122 && y == 112 && z == 119) // кнопка  zpw z=122; p=112; w=119
 {
   irsend.sendRaw(z_pwr, 88, 32); delay(40);
   irsend.sendRaw(z_pwr, 88, 32);
   Serial.println("ok zpw"); 
  }
    
   
  // Кнопка sourse(so)
  else if (x == 122 && y == 115 && z == 111) // кнопка  zso z=122; s=115; 0=111
 {
   irsend.sendRaw(z_source, 88, 32); delay(40);
   irsend.sendRaw(z_source, 88, 32);
   Serial.println("ok zso"); 
  }

else if (x == 122 && y == 115 && z == 47) // tv/
   {
     irsend.sendRaw(z_tv, 88, 32); delay(40);
     irsend.sendRaw(z_tv, 88, 32);
     Serial.println("ok ztv"); 
   }
else if (x == 122 && y == 49 && z == 47) //1
   {
   irsend.sendRaw(z_1, 88, 32); delay(40);
   irsend.sendRaw(z_1, 88, 32);
   Serial.println("ok z1"); 
   }
else if (x == 122 && y == 50 && z == 47) //2
  {
   irsend.sendRaw(z_2, 88, 32); delay(40);
   irsend.sendRaw(z_2, 88, 32);
   Serial.println("ok z2"); 
  }
else if (x == 122 && y == 51 && z == 47) //3
  {
   irsend.sendRaw(z_3, 88, 32); delay(40);
   irsend.sendRaw(z_3, 88, 32);
   Serial.println("ok z3"); 
  }      
else if (x == 122 && y == 52 && z == 47) //4
  {
   irsend.sendRaw(z_4, 88, 32); delay(40);
   irsend.sendRaw(z_4, 88, 32);
   Serial.println("ok z4"); 
  }   
else if (x == 122 && y == 53 && z == 47) //5
  {
   irsend.sendRaw(z_5, 88, 32); delay(40);
   irsend.sendRaw(z_5, 88, 32);
   Serial.println("ok z5"); 
  }   
else if (x == 122 && y == 54 && z == 47) //6
  {
   irsend.sendRaw(z_6, 88, 32); delay(40);
   irsend.sendRaw(z_6, 88, 32);
   Serial.println("ok z6"); 
  }   
else if (x == 122 && y == 55 && z == 47) //7
  {
   irsend.sendRaw(z_7, 88, 32); delay(40);
   irsend.sendRaw(z_7, 88, 32);
   delay(1000);Serial.println("ok z7"); 
  }   
//else if (x == 122 && y == 56 && z == 47) //8
//  {
//   irsend.sendRaw(z_8, 88, 32); delay(40);
//   irsend.sendRaw(z_8, 88, 32);
//   Serial.println("ok z8"); 
//  }   
//else if (x == 122 && y == 57 && z == 47) //9
//  {
//   irsend.sendRaw(z_9, 88, 32); delay(40);
//   irsend.sendRaw(z_9, 88, 32);
//   Serial.println("ok z9"); 
//  }   
//else if (x == 122 && y == 48 && z == 47) //0
//  {
//   irsend.sendRaw(z_0, 88, 32); delay(40);
//   irsend.sendRaw(z_0, 88, 32);
//   Serial.println("ok z0"); 
//  }   
//else if (x == 122 && y == 49 && z == 47) // -/--
//  {
//   irsend.sendRaw(z_1_, 88, 32); delay(40);
//   irsend.sendRaw(z_1_, 88, 32);
//   Serial.println("ok z1"); 
//  }   
//else if (x == 122 && y == 49 && z == 47) //z_1_
//  {
//   irsend.sendRaw(z_1, 88, 32); delay(40);
//   irsend.sendRaw(z_1, 88, 32);
//   Serial.println("ok z1"); 
//  }           
 }  
}  

 

Radjah
Offline
Зарегистрирован: 06.08.2014

http://arduino.cc/en/Serial/ReadBytes

Буфер 3 байта, а читаешь аж 6. Да и зачем переменные глобальным сделал?

Читай эти три байта в буфер делай case по ним.

tru2008
Offline
Зарегистрирован: 22.10.2014

Подскажите можно ли сделать case сразу по 3 переменным?

Пока что сделал через if, работает. Но тут вопрос - почему программа перестает работать если раскоментировать строки начиная с 99?

#include <IRremote.h>

IRsend irsend;

unsigned int z_pwr[68]={ 4500, 4400, 600, 1650, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600, 1600, 600};
unsigned int z_source[68]={ 4400, 4500, 600, 1600, 550, 1700, 600, 1600, 600, 550, 550, 550, 550, 600, 600, 500, 550, 600, 600, 1600, 550, 1700, 600, 1600, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 550, 550, 600, 600, 500, 600, 550, 600, 500, 550, 600, 600, 500, 550, 550, 550, 1700, 600, 1650, 550, 1650, 600, 1650, 600, 1600, 550, 1700, 600, 1650, 550};
unsigned int z_tv[68]={ 4400, 4450, 600, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550};
unsigned int z_1[68]={ 4500, 4350, 650, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 550, 600, 1600, 650, 1600, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_2[68]={ 4500, 4400, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_3[68]={ 4550, 4350, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1600, 650};
unsigned int z_4[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 500, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_5[68]={ 4450, 4400, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 1550, 700, 1600, 650, 1550, 650};
unsigned int z_6[68]={ 4450, 4450, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 500, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1700, 550, 1650, 600};
unsigned int z_7[68]={ 4450, 4450, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 600, 500, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 1650, 600};
unsigned int z_8[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 1700, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 1650, 600};
unsigned int z_9[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1700, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 500, 600, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_0[68]={ 4450, 4450, 550, 1650, 600, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 550, 1700, 600, 1650, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 550, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1650, 550, 1700, 600, 1650, 550, 550, 600, 1650, 550, 1650, 550, 1700, 550};

int x,y,z;
char ser [3];// = {x,y,z};

void setup()
{
  Serial.begin(9600);
}

void loop() 
{
irsend.enableIROut(38);

//int x,y,z = 0;
if (Serial.available() >= 2) 
{
 Serial.readBytes(ser,3);
 x=ser[0]; y=ser[1]; z=ser[2];
//  Serial.print("x = ");Serial.println(x);
//  Serial.print("y = ");Serial.println(y);
//  Serial.print("z = ");Serial.println(z);
Serial.println(ser);
if (x == 122) // символ   z=122;
 {
    if ( y == 112 && z == 119) // кнопка  zpw z=122; p=112; w=119
   {
     irsend.sendRaw(z_pwr, 88, 32); delay(40);
     irsend.sendRaw(z_pwr, 88, 32);
     Serial.println("ok zpw2"); 
    }

    // Кнопка sourse(so)
     else if (y == 115 && z == 111) // кнопка  zso z=122; s=115; 0=111
   {
     irsend.sendRaw(z_source, 88, 32); delay(40);
     irsend.sendRaw(z_source, 88, 32);
     Serial.println("ok zso"); 
    }
  
    else if (y == 115 && z == 47) // tv/
       {
         irsend.sendRaw(z_tv, 88, 32); delay(40);
         irsend.sendRaw(z_tv, 88, 32);
         Serial.println("ok ztv"); 
       }
    else if (y == 49 && z == 47) //1
       {
       irsend.sendRaw(z_1, 88, 32); delay(40);
       irsend.sendRaw(z_1, 88, 32);
       Serial.println("ok z1"); 
       }
    else if (y == 50 && z == 47) //2
      {
       irsend.sendRaw(z_2, 88, 32); delay(40);
       irsend.sendRaw(z_2, 88, 32);
       Serial.println("ok z2"); 
      }
    else if (y == 51 && z == 47) //3
      {
       irsend.sendRaw(z_3, 88, 32); delay(40);
       irsend.sendRaw(z_3, 88, 32);
       Serial.println("ok z3"); 
      }      
    else if (y == 52 && z == 47) //4
      {
       irsend.sendRaw(z_4, 88, 32); delay(40);
       irsend.sendRaw(z_4, 88, 32);
       Serial.println("ok z4"); 
      }   
    else if (y == 53 && z == 47) //5
      {
       irsend.sendRaw(z_5, 88, 32); delay(40);
       irsend.sendRaw(z_5, 88, 32);
       Serial.println("ok z5"); 
      }   
    else if (y == 54 && z == 47) //6
      {
       irsend.sendRaw(z_6, 88, 32); delay(40);
       irsend.sendRaw(z_6, 88, 32);
       Serial.println("ok z6"); 
      }   
//    else if (y == 55 && z == 47) //7
//      {
//       irsend.sendRaw(z_7, 88, 32); delay(40);
//       irsend.sendRaw(z_7, 88, 32);
//       delay(1000);Serial.println("ok z7"); 
//      }   
//    else if (y == 56 && z == 47) //8
//      {
//       irsend.sendRaw(z_8, 88, 32); delay(40);
//       irsend.sendRaw(z_8, 88, 32);
//       Serial.println("ok z8"); 
//      }   
//    else if (y == 57 && z == 47) //9
//      {
//       irsend.sendRaw(z_9, 88, 32); delay(40);
//       irsend.sendRaw(z_9, 88, 32);
//       Serial.println("ok z9"); 
//      }   
//    else if (y == 48 && z == 47) //0
//      {
//       irsend.sendRaw(z_0, 88, 32); delay(40);
//       irsend.sendRaw(z_0, 88, 32);
//       Serial.println("ok z0"); 
//      }   
//    else if (y == 49 && z == 47) // -/--
//      {
//       irsend.sendRaw(z_1_, 88, 32); delay(40);
//       irsend.sendRaw(z_1_, 88, 32);
//       Serial.println("ok z1"); 
//      }   
//    else if (y == 49 && z == 47) //z_1_
//      {
//       irsend.sendRaw(z_1, 88, 32); delay(40);
//       irsend.sendRaw(z_1, 88, 32);
//       Serial.println("ok z1"); 
//      } 
 }
 }  
}

 

Radjah
Offline
Зарегистрирован: 06.08.2014

Ты в переменные вообще не смотришь?

У тебя почти во всех вариантах уникален только второй байт. А для 0x73 (115) надо в добавить только одну проверку.

Голова для шапки что ли только?

tru2008
Offline
Зарегистрирован: 22.10.2014
Radjah,
Раз уж голова у тебя не только для того, чтобы шапку носить,то подскажи, как мне уменьшить код программы, чтобы она не вешалась при раскоментировании строк?
#include <IRremote.h>

//int RECV_PIN = 11;
//IRrecv irrecv(RECV_PIN);

//decode_results results;
IRsend irsend;
// кухня
unsigned int k_pwr[88]={8950, 4500, 550, 550, 550, 600, 500, 1700, 550, 1750, 500, 1700, 550, 600, 550, 550, 550, 600, 500, 1700, 550, 600, 500, 600, 550, 600, 500, 600, 500, 1750, 550, 1700, 550, 550, 550, 600, 500, 600, 550, 1700, 500, 1750, 550, 1700, 550, 550, 550, 1700, 550, 1700, 500, 1750, 550, 1700, 550, 550, 550, 1700, 550, 550, 550, 600, 500, 1750, 550, 550, 500, 650, 550, 550, 550, 1700, 550, 550, 550, 1700, 550, 1700, 500, 650, 500, 1700, 550, 1700, 550, 1700, 550};

// зал
unsigned int z_pwr[68]={ 4500, 4400, 600, 1650, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600, 1600, 600};
unsigned int z_source[68]={ 4400, 4500, 600, 1600, 550, 1700, 600, 1600, 600, 550, 550, 550, 550, 600, 600, 500, 550, 600, 600, 1600, 550, 1700, 600, 1600, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 550, 550, 600, 600, 500, 600, 550, 600, 500, 550, 600, 600, 500, 550, 550, 550, 1700, 600, 1650, 550, 1650, 600, 1650, 600, 1600, 550, 1700, 600, 1650, 550};
unsigned int z_tv[68]={ 4400, 4450, 600, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550};
unsigned int z_1[68]={ 4500, 4350, 650, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 550, 600, 1600, 650, 1600, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_2[68]={ 4500, 4400, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_3[68]={ 4550, 4350, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 1600, 650};
unsigned int z_4[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 500, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_5[68]={ 4450, 4400, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 1550, 700, 1600, 650, 1550, 650};
unsigned int z_6[68]={ 4450, 4450, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 600, 500, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 1650, 600, 550, 550, 1650, 550, 1700, 550, 1700, 550, 1650, 600};
unsigned int z_7[68]={ 4450, 4450, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 600, 500, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 1650, 600};
unsigned int z_8[68]={ 4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 1700, 550, 550, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 600, 1650, 600};
unsigned int z_9[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1700, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 500, 600, 1650, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_0[68]={ 4450, 4450, 550, 1650, 600, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 550, 1700, 600, 1650, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 550, 600, 550, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 550, 1650, 550, 1700, 600, 1650, 550, 550, 600, 1650, 550, 1650, 550, 1700, 550};
unsigned int z_1_[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1650, 600, 550, 550, 550, 550, 600, 550, 550, 600, 550, 550, 1650, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 1650, 550, 1700, 550};
unsigned int z_rw[68]={ 4450, 4450, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 550, 600, 550, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 500, 550, 600, 550, 1650, 550, 1700, 600, 500, 600, 550, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 600, 550, 550, 1650, 550, 1700, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550};
unsigned int z_plus[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 600, 500, 550, 600, 500, 1700, 600, 1650, 550, 1650, 600, 550, 550, 550, 600, 550, 600, 500, 550, 550, 550, 600, 550, 1650, 600, 550, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 550, 600, 1650, 550, 550, 600, 1650, 550, 1650, 550, 600, 550, 1650, 550, 1700, 600, 1650, 550};
unsigned int z_vol_plus[68]={ 4450, 4450, 600, 1600, 600, 1650, 600, 1650, 600, 500, 550, 550, 550, 600, 600, 500, 600, 550, 600, 1600, 550, 1700, 600, 1600, 650, 500, 600, 500, 550, 600, 550, 550, 550, 600, 600, 1600, 550, 1700, 600, 1600, 600, 550, 600, 500, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1700, 550, 1650, 550, 1700, 550};
unsigned int z__vol_minus[68]={ 4500, 4400, 600, 1600, 650, 1600, 650, 1600, 600, 500, 600, 500, 650, 500, 650, 450, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 650, 450, 650, 500, 600, 500, 600, 550, 600, 1600, 650, 1600, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 500, 650, 1600, 650, 450, 650, 1600, 650, 1600, 600, 1600, 650, 1600, 600};
unsigned int z_mute[68]={ 4450, 4450, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 1700, 550};
unsigned int z_chlist[68]={ 4500, 4400, 600, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 1600, 650, 500, 600, 1600, 650, 500, 600, 500, 600, 1650, 600};
unsigned int z_menu[68]={ 4500, 4350, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 500, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 1650, 600};
unsigned int z_srs[68]={ 4500, 4400, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 1600, 650, 1600, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 500, 600, 500, 650, 1600, 600};
unsigned int z_tools[68]={ 4450, 4450, 600, 1650, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 600, 500, 600, 550, 600, 1650, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 1650, 600, 1650, 600, 500, 600, 1650, 550, 550, 550, 600, 550, 1650, 600, 550, 600, 500, 600, 550, 550, 1650, 550, 600, 550, 1650, 550, 1700, 600, 500, 550, 1700, 550};
unsigned int z_return[68]={ 4500, 4400, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 1600, 650, 500, 600, 1600, 650, 500, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 500, 650, 1600, 600, 500, 650, 1600, 600};
//unsigned int z_<[68]={ 4450, 4400, 650, 1600, 550, 1700, 600, 1600, 550, 600, 600, 500, 600, 550, 550, 550, 600, 500, 600, 1650, 600, 1650, 600, 1600, 550, 600, 600, 500, 600, 500, 550, 600, 550, 550, 550, 1700, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 500, 600, 550, 550, 1650, 650, 500, 600, 1600, 650, 1600, 600, 550, 550, 550, 600, 1650, 600};
//unsigned int z_>[68]={ 4500, 4400, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 550, 600, 1600, 600, 500, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 1650, 600};
//unsigned int z_^[68]={ 4550, 4350, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1600, 650, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 1600, 650};
//unsigned int z_v[68]={  4450, 4450, 550, 1650, 550, 1700, 550, 1700, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 1650, 550, 1700, 550, 1700, 550, 550, 550, 550, 600, 550, 550, 600, 500, 600, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 600, 500, 1700, 550, 1650, 600, 550, 550, 600, 550, 1650, 550, 1650, 600, 1650, 550, 1700, 500, 600, 550, 600, 500, 1700, 550};
//unsigned int z_enter[68]={  4500, 4400, 600, 1650, 600, 1600, 650, 1600, 600, 500, 600, 550, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 1600, 650, 500, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 500, 650, 1600, 600};
//unsigned int z_info[68]={  4400, 4450, 600, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1700, 550};
//unsigned int z_exit[68]={  4500, 4400, 600, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 650, 450, 650, 1600, 650, 450, 650, 1600, 650, 1600, 600, 500, 600, 1650, 600, 500, 600, 500, 650, 500, 650, 1550, 650, 500, 650, 450, 600, 1650, 650, 450, 650, 1600, 600, 1650, 600};
//unsigned int z_красная кнопка[68]={  4500, 4400, 600, 1600, 650, 1600, 650, 1600, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 1600, 650, 500, 650, 450, 650, 500, 600, 500, 600, 550, 600, 500, 650, 450, 650, 1600, 650, 1600, 600, 500, 650, 1600, 600, 1600, 650, 500, 600, 1600, 650, 1600, 650, 450, 650, 500, 600, 1600, 650, 500, 600, 500, 600, 1650, 600};
//unsigned int z_зеланая кнопка[68]={  4450, 4450, 600, 1650, 550, 1650, 600, 1650, 600, 500, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 600, 500, 600, 550, 600, 500, 550, 600, 500, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 550, 550, 1700, 550, 550, 600, 1650, 550, 1650, 600, 1650, 550};
//unsigned int z_желтая[68]={  4450, 4450, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 600, 1650, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 500, 1700, 550, 550, 600, 1650, 600, 550, 550, 1650, 550, 600, 550, 550, 550, 550, 600, 550, 550, 1650, 600, 550, 550, 1650, 550, 600, 550, 1650, 550, 1700, 600, 1650, 550};
//unsigned int z_синяя[68]={  4450, 4450, 600, 1650, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 500, 1700, 550, 1700, 550, 550, 550, 1700, 550, 600, 500, 600, 600, 500, 500, 1750, 550, 550, 550, 550, 600, 1650, 550, 600, 500, 1700, 550, 1700, 550, 1650, 600};
//unsigned int z_ttx\mix[68]={  4500, 4400, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 500, 600, 550, 600, 500, 650, 1600, 600, 1600, 650, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 1600, 650, 500, 600, 1600, 650, 500, 600, 500, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 1600, 650};
//unsigned int z_p.size[68]={  4450, 4450, 550, 1650, 550, 1700, 550, 1700, 550, 550, 600, 500, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 600, 550, 550, 550, 550, 1700, 550, 1650, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 1650, 600, 550, 550, 550, 600, 550, 550, 550, 550, 600, 550, 1650, 550, 1700, 550};
//unsigned int z_dma[68]={  4400, 4500, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 1700, 550, 550, 550, 550, 550, 600, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 1700, 550};
//unsigned int z_e.mode[68]={  4450, 4450, 550, 1700, 550, 1650, 550, 1700, 550, 550, 550, 600, 550, 550, 550, 600, 550, 550, 550, 1700, 550, 1650, 600, 1650, 550, 550, 550, 600, 550, 550, 600, 550, 550, 550, 600, 500, 550, 600, 550, 1700, 550, 550, 550, 1700, 550, 550, 550, 550, 550, 1700, 550, 1700, 550, 1650, 550, 600, 550, 1650, 600, 550, 550, 1650, 600, 1650, 550, 550, 600};
//unsigned int z_p.mode[68]={  4450, 4450, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 550, 550, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 550, 550, 550, 600, 500, 650, 500, 600, 500, 600, 1650, 550, 550, 600, 1650, 600, 500, 600, 550, 550, 1650, 550, 1700, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 1600, 600};
//unsigned int z_hdmi[68]={  4500, 4400, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 1600, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 500, 600, 500, 650, 1600, 600, 500, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600};
//unsigned int z_<<[68]={  4450, 4450, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 1700, 550, 1650, 550, 600, 550, 550, 550, 600, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 1650, 550, 600, 550, 550, 550, 550, 550, 1700, 550, 550, 550, 600, 550, 1650, 550, 600, 550, 1650, 600, 1650, 550, 1700, 550, 550, 550, 1700, 550};
//unsigned int z_||[68]={  4500, 4350, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 550, 550, 550, 600, 500, 650, 1600, 600, 1650, 550, 1650, 600, 550, 600, 500, 600, 500, 650, 500, 550, 550, 600, 550, 550, 1650, 600, 550, 600, 1600, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 1650, 550, 550, 600, 1650, 600, 1600, 650, 500, 600, 1600, 650};
//unsigned int z_>>[68]={  4500, 4400, 600, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 650, 500, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 550, 600, 500, 600, 550, 600, 500, 600, 500, 650, 500, 600, 1600, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 1600, 650, 1600, 600, 550, 600, 1600, 600, 1650, 600, 500, 600, 1650, 600};
//unsigned int z_rec[68]={  4500, 4400, 600, 1600, 650, 1600, 600, 1650, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 1600, 650, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 550, 600, 1600, 650, 1600, 600, 500, 650, 1600, 600};
//unsigned int z_play[68]={  4500, 4400, 600, 1650, 600, 1600, 650, 1600, 600, 500, 650, 500, 550, 550, 600, 550, 600, 500, 600, 1650, 600, 1600, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 550, 600, 500, 600, 1650, 550, 1650, 600, 1650, 600, 500, 600, 550, 600, 500, 600, 1650, 600, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 1650, 550, 1650, 600, 550, 600, 1600, 600};
//unsigned int z_stop[68]={  4550, 4350, 650, 1600, 600, 1650, 600, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 1600, 600, 1600, 650, 1600, 600, 550, 600, 500, 600, 500, 650, 500, 600, 500, 650, 500, 600, 1600, 650, 1600, 600, 500, 650, 500, 600, 500, 600, 1650, 600, 500, 600, 1650, 600, 500, 600, 550, 600, 1600, 600, 1650, 600, 1600, 650, 500, 600, 1600, 650};


void setup()
{
  Serial.begin(9600);
}

void loop() 
{
irsend.enableIROut(38);

if (Serial.available() > 0) 
{
 int Str = Serial.read();
 
    
  switch (Str) {
    
    case 'p':  
      irsend.sendRaw(z_pwr, 88, 32); delay(40);
      irsend.sendRaw(z_pwr, 88, 32);  
   delay(1000);   
      Serial.print("ok zpw");
     break;
    case 's':    
      irsend.sendRaw(z_source, 88, 32); delay(40);
      irsend.sendRaw(z_source, 88, 32);      
      Serial.print("ok so");
     break;
    case 't':    
      irsend.sendRaw(z_tv, 88, 32); delay(40);
      irsend.sendRaw(z_tv, 88, 32);      
      Serial.print("ok ztv");
     break;
    case '1':    
      irsend.sendRaw(z_1, 88, 32); delay(40);
      irsend.sendRaw(z_1, 88, 32);      
      Serial.println("ok z1");
     break;
    case '2':    
      irsend.sendRaw(z_2, 88, 32); delay(40);
      irsend.sendRaw(z_2, 88, 32);      
      Serial.println("ok z2");
     break;
    case '3':    
      irsend.sendRaw(z_3, 88, 32); delay(40);
      irsend.sendRaw(z_3, 88, 32);      
      Serial.println("ok z3");
     break;
    case '4':    
      irsend.sendRaw(z_4, 88, 32); delay(40);
      irsend.sendRaw(z_4, 88, 32);      
      Serial.println("ok z4");
     break;
    case '5':    
      irsend.sendRaw(z_5, 88, 32); delay(40);
      irsend.sendRaw(z_5, 88, 32);      
      Serial.println("ok z5");
     break;
    case '6':    
      irsend.sendRaw(z_6, 88, 32); delay(40);
      irsend.sendRaw(z_6, 88, 32);      
      Serial.print("ok z6");
     break;
//    case '7':    
//      irsend.sendRaw(z_7, 88, 32); delay(40);
//      irsend.sendRaw(z_7, 88, 32);      
//      Serial.print("ok z7");
//     break;
//    case '8':    
//      irsend.sendRaw(z_8, 88, 32); delay(40);
//      irsend.sendRaw(z_8, 88, 32);      
//      Serial.print("ok z8");
//     break;
//    case '9':    
//      irsend.sendRaw(z_9, 88, 32); delay(40);
//      irsend.sendRaw(z_9, 88, 32);      
//      Serial.print("ok z9");
//     break;
//    case '0':    
//      irsend.sendRaw(z_0, 88, 32); delay(40);
//      irsend.sendRaw(z_0, 88, 32);      
//      Serial.print("ok z0");
//     break;

 
     }
        
 //}
  
// else // 
//{
// Serial.println(i); 
//}
  }

}