Advertisement
Guest User

New_code_automation

a guest
Nov 10th, 2016
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.21 KB | None | 0 0
  1. //CONTROLE REMOTO
  2. #include <IRremote.h>
  3. #include <SPI.h>
  4. #include <Ethernet.h> //W5100
  5. #define RECV_PIN 2
  6. IRsend irsend;
  7. IRrecv irrecv(RECV_PIN);
  8. decode_results results;
  9.  
  10. bool rele4=true, rele5=true;//variaveis para estado do rele
  11.  
  12. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  13. IPAddress ip(192, 168, 1, 177);
  14.  
  15. EthernetServer server(80);
  16.  
  17. //RELES
  18. #define pino_rele4 4 // Luz Quarto
  19. #define pino_rele5 5 // Luz do banheiro
  20.  
  21.  
  22. void setup() {
  23.   pinMode(pino_rele4, OUTPUT); // Quarto
  24.   pinMode(pino_rele5, OUTPUT); // banheiro
  25.   //Desliga os reles
  26.   digitalWrite(pino_rele4, HIGH); // Quarto
  27.   digitalWrite(pino_rele5, HIGH); // banheiro
  28.   Ethernet.begin(mac, ip);
  29.   server.begin();
  30.   //Controle remoto mega pin 9
  31.   pinMode(9, OUTPUT);
  32.   digitalWrite(9, LOW);
  33.   irrecv.enableIRIn();
  34. }
  35.  
  36. void loop() {
  37.  
  38.   EthernetClient client = server.available();
  39.   if (client) {
  40.     String vars;
  41.     byte acao = 0;
  42.     boolean currentLineIsBlank = true;
  43.     while (client.connected()) {
  44.       if (client.available()) {
  45.         char c = client.read();
  46.         vars.concat(c);
  47.         if (c == '\n') {
  48.           client.println(F("HTTP/1.1 200 OK"));
  49.           client.println(F("Content-Type: text/html"));
  50.           client.println();
  51.           client.println(F("<!doctype html>"));
  52.           client.println(F("<head>"));
  53.           client.println(F("<meta charset=\"utf-8\">"));
  54.           client.println(F("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\""));
  55.           client.println(F("<title>Automação meu QUARTO</title>"));
  56.           client.println(F("<meta name=\"viewport\" content=\"width=320\">"));
  57.           client.println(F("<meta name=\"viewport\" content=\"width=device-width\">"));
  58.           client.println(F("<meta charset=\"utf-8\">"));
  59.           client.println(F("<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\">"));
  60.           client.println(F("</head>"));
  61.           client.println(F("<body>"));
  62.           client.println(F("<center>"));
  63.           client.println(F("<meta charset=\"utf-8\">"));
  64.           client.println(F("<font size=\"5\" face=\"verdana\" color=\"green\">AUTOMAÇÃO</font>"));
  65.           client.println(F("<font size=\"5\" face=\"verdana\" color=\"blue\"> QUARTO</font><br />"));
  66.           client.println(F("<form action=\"/assistirtv\" method=\"get\">"));
  67.           client.println(F("<button type=submit style=\"width:200px;\">Ligar TV - </button> "));
  68.           client.println(F("</form> <br />"));
  69.           client.println(F("<form action=\"/cima\" method=\"get\">"));
  70.           client.println(F("<button type=submit style=\"width:200px;\">Cima - </button>  "));
  71.           client.println(F("</form> <br />"));
  72.           client.println(F("<form action=\"/baixo\" method=\"get\">"));
  73.           client.println(F("<button type=submit style=\"width:200px;\">baixo - </button>  "));
  74.           client.println(F("</form> <br />"));
  75.           client.println(F(""));
  76.           client.println(F(""));
  77.           client.println(F(""));
  78.           client.println(F("</center>"));
  79.           client.println(F("</body>"));
  80.           client.println(F("</html>"));
  81.           break;
  82.         }//final if \n
  83.       }//final client.avaliable
  84.  
  85.       //AQUI ACONTECEM AS COMPARACOES(Receptor)
  86.       if (vars.endsWith(F("/assistirtv"))) acao = 2;
  87.       else if (vars.endsWith(F("/desligartv"))) acao = 3;
  88.       else if (vars.endsWith(F("/ok"))) acao = 4;
  89.       else if (vars.endsWith(F("/setadireita"))) acao = 5;
  90.       else if (vars.endsWith(F("/setaesquerda"))) acao = 6;
  91.       else if (vars.endsWith(F("/cima"))) acao = 7;
  92.       else if (vars.endsWith(F("/baixo"))) acao = 8;
  93.       else if (vars.endsWith(F("/8"))) acao = 20;
  94.       else if (vars.endsWith(F("/9"))) acao = 21;
  95.       else if (vars.endsWith(F("/0"))) acao = 22;
  96.       // Rele
  97.       else if (vars.endsWith(F("/luzquarto"))) acao = 21;
  98.       else if (vars.endsWith(F("/luzbanheiro"))) acao = 20;
  99.  
  100.  
  101.       if (acao == 2) { //LIGANDO A TV
  102.         //Ligar receptor
  103.         irsend.sendNEC(0xFF50AF, 32);
  104.         delay(2000);
  105.         //ligar tv
  106.         irsend.sendNEC(0x2FD48B7, 32);
  107.         acao = 0;
  108.       }
  109.       if (acao == 3) { //DESLIGANDO A TV
  110.         //Ligar receptor
  111.         irsend.sendNEC(0xFF50AF, 32);
  112.         delay(2000);
  113.         //ligar tv
  114.         irsend.sendNEC(0x2FD48B7, 32);
  115.         acao = 0;
  116.       }
  117.       if (acao == 4) { //Ok
  118.  
  119.         irsend.sendNEC(0xFFB04F, 32);
  120.         acao = 0;
  121.       }
  122.       if (acao == 5) { //SetaDiretia
  123.  
  124.         irsend.sendNEC(0xFF8877, 32);
  125.         acao = 0;
  126.       }
  127.       if (acao == 6) { //seta esquerda
  128.  
  129.         irsend.sendNEC(0xFF08F7, 32);
  130.         acao = 0;
  131.       }
  132.       if (acao == 7) { //Seta cima
  133.  
  134.         irsend.sendNEC(0xFFD02F, 32);
  135.         acao = 0;
  136.       }
  137.       if (acao == 8) { //Seta baixo
  138.  
  139.         irsend.sendNEC(0xFF708F, 32);
  140.         acao = 0;
  141.       }
  142.       if (acao == 20) { //Banheiro
  143.         rele5 = !rele5;
  144.         digitalWrite(pino_rele5, rele5);
  145.         acao = 0;
  146.       }
  147.       if (acao == 21) { //Quarto
  148.         rele4 = !rele4;
  149.         digitalWrite(pino_rele4, rele4);
  150.         acao = 0;
  151.       }
  152.     } //Final do if
  153.  
  154.     delay(1);
  155.     irrecv.enableIRIn();
  156.     client.stop();
  157.   } //Final do if client
  158.  
  159. }//LOOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement