Advertisement
rogerin

Untitled

Oct 18th, 2012
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.38 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <Ethernet.h>
  3. #include <IRremote.h>
  4.  
  5.  
  6. // Configuração de botoes e Reles
  7. byte BOTAO1 = 0;
  8. byte BOTAO2 = 0;
  9. byte BOTAO3 = 0;
  10.  
  11. byte RELE1 = 1;
  12. byte RELE2 = 1;
  13. byte RELE3 = 1;
  14. /*
  15. byte porta_b1 = 22;
  16. byte porta_b2 = 23;
  17. byte porta_b3 = 24;
  18.  
  19. byte porta_r1 = 25;
  20. byte porta_r2 = 26;
  21. byte porta_r3 = 27;
  22. */
  23.  
  24.  
  25. byte porta_b1 = 2;
  26. byte porta_b2 = 3;
  27. byte porta_b3 = 4;
  28.  
  29. byte porta_r1 = 5;
  30. byte porta_r2 = 6;
  31. byte porta_r3 = 7;
  32.  
  33.  
  34.  
  35. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  36.  
  37. IPAddress ip(10,0,0,105); // ip que o arduino assumirá
  38. IPAddress gateway(10,0,0,1); // ip do roteador
  39. IPAddress subnet(255, 255, 255, 255);
  40.  
  41. EthernetServer server(80);
  42. IRsend irsend;
  43.  
  44. void setup(){
  45.   Serial.begin(9600);
  46.   Ethernet.begin(mac,ip,gateway, subnet);
  47.   server.begin();
  48.  
  49.   pinMode(porta_b1, INPUT);
  50.   pinMode(porta_b2, INPUT);
  51.   pinMode(porta_b3, INPUT);
  52.  
  53.   digitalWrite(porta_b1, 1);
  54.   digitalWrite(porta_b2, 1);
  55.   digitalWrite(porta_b3, 1);
  56.  
  57.   pinMode(porta_r1, OUTPUT);
  58.   pinMode(porta_r2, OUTPUT);
  59.   pinMode(porta_r3, OUTPUT);
  60.  
  61.   digitalWrite(porta_r1, 1);
  62.   digitalWrite(porta_r2, 1);
  63.   digitalWrite(porta_r3, 1);  
  64.  
  65.   }
  66. void loop(){
  67.  BOTAO1 = digitalRead(porta_b1);
  68.  BOTAO2 = digitalRead(porta_b2);
  69.  BOTAO3 = digitalRead(porta_b3);
  70.  
  71.  if(BOTAO1 == 0){
  72.   RELE1 = !RELE1;
  73.   digitalWrite(porta_r1, RELE1);
  74.   delay(100);
  75.  }
  76.  
  77.  if(BOTAO2 == 0){
  78.   RELE2 = !RELE2;
  79.   digitalWrite(porta_r2, RELE2);
  80.   delay(100);
  81.  }
  82.  
  83.  if(BOTAO3 == 0){
  84.   RELE3 = !RELE3;
  85.   digitalWrite(porta_r3, RELE3);
  86.   delay(100);
  87.  }
  88.  
  89.   EthernetClient client = server.available();
  90.   if(client) {
  91.     boolean currentLineIsBlank = true;
  92.     String vars;
  93.     int varOnOff = 0;
  94.     while(client.connected()){
  95.       if(client.available()){
  96.         char c = client.read();
  97.         Serial.print(c);
  98.         vars.concat(c);
  99.         if(vars.endsWith("/luz1on")) varOnOff = 1;
  100.         else if (vars.endsWith("/luz1off")) varOnOff = 2;
  101.         else if (vars.endsWith("/luz2on")) varOnOff = 3;
  102.         else if (vars.endsWith("/luz2off")) varOnOff = 4;
  103.         else if (vars.endsWith("/ventiladoron")) varOnOff = 5;
  104.         else if (vars.endsWith("/ventiladoroff")) varOnOff = 6;
  105.        
  106.         // TV
  107.         else if (vars.endsWith("/tvonoff")) varOnOff = 7;
  108.         else if (vars.endsWith("/cmenos")) varOnOff = 8;
  109.         else if (vars.endsWith("/cmais")) varOnOff = 9;
  110.         else if (vars.endsWith("/vmenos")) varOnOff = 10;
  111.         else if (vars.endsWith("/vmais")) varOnOff = 11;
  112.        
  113.         // Sensores
  114.         else if (vars.endsWith("/luminosidade")) varOnOff = 12;
  115.        
  116.         if(c == '\n' && currentLineIsBlank){
  117.           client.println("HTTP/1.1 200 OK");
  118.          
  119.           client.println();
  120.           client.println("<div id=\"result\">");
  121.           if(varOnOff == 0){
  122.              client.println("false");
  123.           }
  124.           else if (varOnOff == 1) {
  125.             RELE3 = !RELE3;
  126.             digitalWrite(porta_r3, RELE3);
  127.             delay(100);
  128.             client.println("true");
  129.           }
  130.           else if (varOnOff == 2) {
  131.             digitalWrite(8, 0);
  132.             client.println("true");
  133.          }
  134.           else if (varOnOff == 3) {
  135.             digitalWrite(9, 1);
  136.             client.println("true");
  137.          }
  138.           else if (varOnOff == 4) {
  139.             digitalWrite(9, 0);
  140.             client.println("true");
  141.          }
  142.           else if (varOnOff == 5) {
  143.             digitalWrite(10, 1);
  144.             client.println("true");
  145.          }
  146.           else if (varOnOff == 6) {
  147.             digitalWrite(10, 0);
  148.             client.println("true");
  149.          }
  150.          
  151.          // TV
  152.           else if (varOnOff == 7) {
  153.             for (int i = 0; i < 1; i++) {
  154.               irsend.sendNEC(0x8076807F, 32);
  155.               delay(100);
  156.             }
  157.             client.println("true");
  158.          }
  159.          
  160.           else if (varOnOff == 8) {
  161.             for (int i = 0; i < 1; i++) {
  162.               irsend.sendNEC(0x8076A05F, 32);
  163.               delay(100);
  164.             }
  165.             client.println("true");
  166.          }
  167.          
  168.           else if (varOnOff == 9) {
  169.             for (int i = 0; i < 1; i++) {
  170.               irsend.sendNEC(0x807620DF, 32);
  171.               delay(100);
  172.             }
  173.             client.println("true");
  174.          }
  175.          
  176.           else if (varOnOff == 10) {
  177.             for (int i = 0; i < 1; i++) {
  178.               irsend.sendNEC(0x8076F807, 32);
  179.               delay(100);
  180.             }
  181.             client.println("true");
  182.          }
  183.          
  184.           else if (varOnOff == 11) {
  185.             for (int i = 0; i < 1; i++) {
  186.               irsend.sendNEC(0x80767887, 32);
  187.               delay(100);
  188.             }
  189.             client.println("true");
  190.          }
  191.          
  192.           else if (varOnOff == 12) {
  193.             client.println(analogRead(0));
  194.          }
  195.          
  196.          // FIM COMANDOS TV
  197.          
  198.          
  199.          
  200.          
  201.          
  202.          
  203.          
  204.          
  205.          
  206.          else {
  207.              client.println("false");
  208.          }
  209.           break;
  210.         }
  211.         if(c == '\n'){
  212.           currentLineIsBlank = true;
  213.         }
  214.         else if (c != '\r') {
  215.           currentLineIsBlank = false;
  216.         }
  217.       }
  218.     }
  219.     client.println("</div>");
  220.     delay(1);
  221.     client.stop();
  222.   }
  223.    delay(200);
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement