Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.37 KB | None | 0 0
  1. //Quarto automacao Lucas 2016//
  2. //versao 1.4//
  3.  
  4. #include <IRremote.h>
  5. #include <IRremoteInt.h>
  6.  
  7. IRsend irsend;
  8.  
  9. const int RECV_PIN = 2;
  10. const int Rele = 8;
  11. IRrecv irrecv(RECV_PIN);
  12. decode_results results;
  13.  
  14. int led = 9;
  15. int ch1 = 3;
  16. int ch2 = 5;
  17. int ch3 = 6;
  18. int ch4 = 4;
  19. /// Home Teather//
  20. unsigned int S_pwr[67]={4500,4350,650,1600,600,1600,650,450,600,500,650,500,600,500,600,1600,600,500,650,1600,600,1600,600,500,600,500,650,1600,600,500,600,1600,650,450,600,1650,600,500,600,500,600,500,600,500,650,450,650,500,600,500,600,500,600,1600,600,1650,600,1600,600,1600,600,1650,600,1600,600,1600,650,};
  21. unsigned int S_fca[67]={4550,4350,650,1600,600,1600,650,450,650,450,600,550,600,500,600,1600,650,450,600,1650,600,1600,600,500,600,500,650,1600,600,500,600,1600,650,450,600,1650,600,500,600,500,600,500,600,1600,600,550,600,500,600,500,600,500,650 ,1550,650,1600,600,1600,600,500,650,1600,600,1600,600,1600,600,};
  22. unsigned int S_vol[67]={4500,4400,600,1650,550,1650,600,500,600,500,600,500,600,550,600,1600,600,500,600,1600,600,1650,600,500,600,500,600,1600,600,550,600,1600,600,500,600,1600,600,1650,600,500,600,1600,600,1650,600,1600,600,500,600,500,600,500,600,550,600,1600,600,500,600,500,600,550,550,1650,600,1600,600,};
  23. unsigned int S_volm[67]={4500,4400,600,1600,600,1650,600,500,600,500,600,500,600,500,600,1650,600,500,600,1600,600,1650,600,500,600,500,600,1600,600,500,600,1650,600,500,600,1600,600,1650,600,500,600,500,600,1600,600,1650,600,500,600,500,600,500,600,500,600,1650,600,1600,600,500,600,500,600,1650,600,1600,600,};
  24. unsigned int S_ant[67]={4550,4350,600,1600,600,1600,650,500,600,500,600,500,650,450,650,1600,600,500,650,1550,650,1600,600,500,650,450,650,1600,600,500,600,1600,600,500,650,1600,600,1600,650,450,650,1600,600,1600,650,450,650,500,600,500,600,500,650,450,650,1600,600,500,600,500,600,1600,650,1600,650,1550,650,};
  25. unsigned int S_ava[67]={4500,4400,550,1650,600,1600,600,500,600,500,600,550,600,500,600,1600,600,500,600,1650,600,1600,600,500,600,500,600,1650,600,500,600,1600,600,500,600,1650,600,1600,600,500,600,500,600,1650,600,500,550,550,600,500,600,500,600,500,600,1650,600,1600,600,500,600,1650,600,1600,550,1650,600,};
  26. unsigned int S_pla[67]={4500,4400,550,1650,600,1600,600,500,600,500,600,550,600,500,600,1600,600,500,600,1650,600,1600,600,500,600,500,600,1650,600,500,600,1600,600,500,600,1650,600,1600,600,500,600,500,600,1650,600,500,550,550,600,500,600,500,600,500,600,1650,600,1600,600,500,600,1650,600,1600,550,1650,600,};
  27. unsigned int S_cim[67]={4500,4400,550,1700,550,1650,550,550,550,550,550,600,550,550,550,1650,550,550,550,1700,550,1650,550,550,550,550,550,1700,550,550,550,1650,550,600,550,1650,550,550,550,1650,550,1700,550,550,550,550,550,550,550,600,550,550,550,1650,550,550,550,600,550,1650,550,1650,550,1700,550,1650,550,};
  28. unsigned int S_bai[67]={4550,4350,650,1600,600,1600,650,450,600,500,650,450,650,500,600,1600,650,450,650,1600,600,1600,650,450,650,450,650,1600,600,500,650,1550,600,500,650,1600,600,500,650,1550,650,500,600,500,600,500,650,450,650,450,650,500,600,1600,600,500,650,1550,650,1600,600,1600,600,1650,600,1600,600,};
  29. /// ar condicionado
  30. unsigned int des_ar[59]={3208,9548,608,1444,608,412,604,408,604,408,604,1448,604,432,604,412,604,408,608,1420,608,1420,604,432,584,428,608,408,604,412,604,408,608,428,584,432,580,432,580,432,584,432,580,432,584,1444,580,432,580,1448,492,520,524,492,604,432,584,1444,580,};
  31. unsigned int modo_ar[59]={3168,9640,524,1500,576,444,548,464,548,464,552,1476,548,488,524,488,528,488,524,488,496,516,500,516,520,496,520,1528,524,492,520,1508,520,492,520,496,520,492,520,1528,500,1556,496,516,496,1528,500,516,572,440,496,516,500,516,496,516,552,1476,520,};
  32. unsigned int velocidade_ar[61]={368,43108,3152,9604,580,1472,524,492,552,460,552,460,556,1472,552,464,576,436,576,436,580,1448,580,456,556,1472,556,456,580,436,576,436,608,408,604,432,580,1448,604,432,584,1444,580,1448,580,436,600,1448,580,436,572,440,572,1456,572,468,544,468,544,1484,544,};
  33. unsigned int aumenta_ar[59]={3196,9612,572,1452,524,516,500,512,500,516,496,1532,520,496,520,516,496,516,572,440,576,440,572,440,576,440,548,1476,576,436,576,464,500,516,496,1528,500,516,496,516,576,1456,520,492,520,1528,500,516,496,516,500,512,576,1452,572,440,520,1532,500,};
  34. unsigned int diminui_ar[59]={3184,9624,552,1504,524,488,584,428,584,432,584,1468,604,436,584,428,584,432,584,428,584,428,584,432,584,428,584,1468,584,428,584,432,584,428,540,1488,608,432,584,428,496,516,500,516,496,1556,584,428,584,428,500,516,596,1432,608,428,500,516,608,};
  35. unsigned int lig_ar[59]={3124,9636,552,1500,524,492,576,436,576,436,552,1500,528,516,496,516,500,512,580,436,544,468,572,444,572,440,552,460,580,436,576,1448,524,496,520,496,520,492,520,1528,500,1528,500,512,500,1528,500,512,552,1504,576,1448,580,436,520,1512,520,492,520,};
  36.  
  37.  
  38. //---------------------------------------------------------
  39. void setup()
  40. {
  41. Serial.begin(9600);
  42. Serial3.begin(9600);
  43.  
  44. byte rx_byte = 0; // stores received byte
  45.  
  46.  
  47. pinMode(led,OUTPUT); //infravermelho;
  48. pinMode(ch1, OUTPUT);//Pino digital saída do Arduino(4-ch1);
  49. pinMode(ch2, OUTPUT);//Pino digital saída do Arduino(5-ch2);
  50. pinMode(ch3, OUTPUT);//Pino digital saída do Arduino(6-ch3);
  51. pinMode(ch4, OUTPUT);//Pino digital saída do Arduino(7-ch4);
  52.  
  53. pinMode(Rele,OUTPUT);
  54. irrecv.enableIRIn();
  55. }
  56. //---------------------------------------------------------
  57.  
  58.  
  59. void loop() {
  60.  
  61. Serial3.println("mensagem");
  62.  
  63. if (irrecv.decode(&results))
  64. {
  65. Serial3.println(results.value, HEX);
  66. if(results.value == 0xFF946B) // LIGA QUARTO//
  67. {
  68. digitalWrite(ch1, HIGH);
  69. }
  70. if(results.value == 0xFF0CF3) // DESLIGA QUARTO
  71. {
  72. digitalWrite(ch1, LOW);
  73. }
  74.  
  75. if(results.value == 0xFF8C73) // LIGA BANHEIRO//
  76. {
  77. digitalWrite(ch4, HIGH);
  78. }
  79. if(results.value == 0xFF4CB3) // DESLIGA BANHEIRO //
  80. {
  81. digitalWrite(ch4, LOW);
  82. }
  83.  
  84.  
  85. irrecv.resume();
  86. }
  87. if (Serial3.available() > 0)
  88. {
  89. char valorlido = Serial3.read();
  90.  
  91.  
  92. switch(valorlido)
  93. {
  94. // controle Receptor ///
  95. case 'E': irsend.sendNEC (0xFF50AF, 32);break; // Power break;
  96. case 'F': irsend.sendNEC (0xFFB04F, 32);break; // Botao OK ;
  97. case 'P': irsend.sendNEC (0xFF8877, 32);break; // SETA PRA DIREITA ;
  98. case 'Q': irsend.sendNEC (0xFF08F7, 32);break; // SETA PRA ESQUERDA ;
  99. case 'R': irsend.sendNEC (0xFFD02F, 32);break; // SETA PRA CIMA ;
  100. case 'S': irsend.sendNEC (0xFF708F, 32);break; // SETA PRA BAIXO ;
  101. case 'T': irsend.sendNEC (0xFF7887, 32);break; // EXIT ;
  102. case 'U': irsend.sendNEC (0xFF6C93, 32);break; // SLEEP ;
  103. case 'V': irsend.sendNEC (0xFF58A7, 32);break; // MENU ;
  104. case 'W': irsend.sendNEC (0xFFEA15, 32);break; // FAVORITO ;
  105. case 'B': irsend.sendNEC (0xFFCC33, 32);break; // MUDO ;
  106. case 'n': irsend.sendNEC (0xFF2CD3, 32);break; // tv radio ;
  107. case 'o': irsend.sendNEC (0xFF807F, 32);break; // 1 ;
  108. case 'p': irsend.sendNEC (0xFF40BF, 32);break; // 2 ;
  109. case 'q': irsend.sendNEC (0xFFC03F, 32);break; // 3 ;
  110. case 'r': irsend.sendNEC (0xFF20DF, 32);break; // 4 ;
  111. case 's': irsend.sendNEC (0xFFA05F, 32);break; // 5 ;
  112. case 't': irsend.sendNEC (0xFF609F, 32);break; // 6 ;
  113. case 'u': irsend.sendNEC (0xFFE01F, 32);break; // 7 ;
  114. case 'v': irsend.sendNEC (0xFF10EF, 32);break; // 8 ;
  115. case 'y': irsend.sendNEC (0xFF906F, 32);break; // 9 ;
  116. case 'C': irsend.sendNEC (0xFF00FF, 32);break; // 0 ;
  117.  
  118. //Controle da tv //
  119. case 'a': irsend.sendNEC (0x2FD48B7, 32);break; // Power break;
  120. case 'b': irsend.sendNEC (0x2FDF00F, 32);break; // Input;
  121. case 'c': irsend.sendNEC (0x2FD01FE, 32);break; // Menu;
  122. case 'd': irsend.sendNEC (0x2FD41BE, 32);break; // Tecla Cima;
  123. case 'e': irsend.sendNEC (0x2FDC13E, 32);break; // Tecla Baixo;
  124. case 'f': irsend.sendNEC (0x2FDB847, 32);break; // Tecla Esquerda;
  125. case 'g': irsend.sendNEC (0x2FD9867, 32);break; // Tecla Direita;
  126. case 'h': irsend.sendNEC (0x2FD58A7, 32);break; // Volume +;
  127. case 'i': irsend.sendNEC (0x2FD7887, 32);break; // Volume -;
  128. case 'j': irsend.sendNEC (0x2FD1AE5, 32);break; // Exit;
  129. case 'k': irsend.sendNEC (0x2FD9B64, 32);break; // voltar;
  130. case 'l': irsend.sendNEC (0x2FD08F7, 32);break; // Mute;
  131. case 'z': irsend.sendNEC (0x2FD916E, 32);break; // Enter;
  132. case 'D': irsend.sendNEC (0x2FDA857, 32);break; // Sleep:
  133. case 'X': irsend.sendNEC (0x2FD54AB, 32);break; // Netflix:
  134. //case 'A': irsend.sendNEC (0x2FD20DF, 32);break; // Sbt:
  135. //case 'C': irsend.sendNEC (0x2FDE01F, 32);break; // Record:
  136.  
  137. //Controle Home;
  138. case 'G': irsend.sendRaw (S_pwr,67, 38);break; // Power break;
  139. case 'H': irsend.sendRaw (S_fca,67, 38);break; // funcao;
  140. case 'I': irsend.sendRaw (S_vol,67, 38);break; // Volume - ;
  141. case 'J': irsend.sendRaw (S_volm,67, 38);break; // Volume +;
  142. case 'K': irsend.sendRaw (S_ant,67, 38);break; // anterior;
  143. case 'L': irsend.sendRaw (S_ava,67, 38);break; // avancar;
  144. case 'M': irsend.sendRaw (S_pla,67, 38);break; //play;
  145. case 'N': irsend.sendRaw (S_cim,67, 38);break; //cima;
  146. case 'O': irsend.sendRaw (S_bai,67, 38);break;//baixo;
  147. ///Ar condicionado
  148. case 'Y': irsend.sendRaw (des_ar,59, 38);break;//Desligar
  149. case 'A': irsend.sendRaw (modo_ar,59, 38);break;//modo ok
  150. case 'x': irsend.sendRaw (velocidade_ar,61, 38);break;//velocidade Ok
  151. case 'w': irsend.sendRaw (aumenta_ar,59, 38);break;//aumenta ok
  152. case 'Z': irsend.sendRaw (diminui_ar,59, 38);break;//diminui
  153. case 'm': irsend.sendRaw (lig_ar,59, 38);break;//Ligar
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160. //LAMPADAS:
  161.  
  162. //CANAL 1//
  163. case '1':digitalWrite(ch1, !digitalRead(ch1));break;//Quarto;
  164. case '5':digitalWrite(ch2, !digitalRead(ch2));break;//NULO;
  165. case '3':digitalWrite(ch3, !digitalRead(ch3));break;//escada;
  166. case '4':digitalWrite(ch4, !digitalRead(ch4));break; // Banheiro
  167. }
  168. irrecv.enableIRIn();
  169. }
  170. delay(10);
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement