Advertisement
lucasx2016

Untitled

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