Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //CONTROLE REMOTO
- #include <IRremote.h>
- #include <SPI.h>
- #include <Ethernet.h> //W5100
- #define RECV_PIN 2
- IRsend irsend;
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- bool rele4=true, rele5=true;//variaveis para estado do rele
- byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
- IPAddress ip(192, 168, 1, 177);
- EthernetServer server(80);
- //RELES
- #define pino_rele4 4 // Luz Quarto
- #define pino_rele5 5 // Luz do banheiro
- void setup() {
- pinMode(pino_rele4, OUTPUT); // Quarto
- pinMode(pino_rele5, OUTPUT); // banheiro
- //Desliga os reles
- digitalWrite(pino_rele4, HIGH); // Quarto
- digitalWrite(pino_rele5, HIGH); // banheiro
- Ethernet.begin(mac, ip);
- server.begin();
- //Controle remoto mega pin 9
- pinMode(9, OUTPUT);
- digitalWrite(9, LOW);
- irrecv.enableIRIn();
- }
- void loop() {
- EthernetClient client = server.available();
- if (client) {
- String vars;
- byte acao = 0;
- boolean currentLineIsBlank = true;
- while (client.connected()) {
- if (client.available()) {
- char c = client.read();
- vars.concat(c);
- if (c == '\n') {
- client.println(F("HTTP/1.1 200 OK"));
- client.println(F("Content-Type: text/html"));
- client.println();
- client.println(F("<!doctype html>"));
- client.println(F("<head>"));
- client.println(F("<meta charset=\"utf-8\">"));
- client.println(F("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\""));
- client.println(F("<title>Automação meu QUARTO</title>"));
- client.println(F("<meta name=\"viewport\" content=\"width=320\">"));
- client.println(F("<meta name=\"viewport\" content=\"width=device-width\">"));
- client.println(F("<meta charset=\"utf-8\">"));
- client.println(F("<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\">"));
- client.println(F("</head>"));
- client.println(F("<body>"));
- client.println(F("<center>"));
- client.println(F("<meta charset=\"utf-8\">"));
- client.println(F("<font size=\"5\" face=\"verdana\" color=\"green\">AUTOMAÇÃO</font>"));
- client.println(F("<font size=\"5\" face=\"verdana\" color=\"blue\"> QUARTO</font><br />"));
- client.println(F("<form action=\"/assistirtv\" method=\"get\">"));
- client.println(F("<button type=submit style=\"width:200px;\">Ligar TV - </button> "));
- client.println(F("</form> <br />"));
- client.println(F("<form action=\"/cima\" method=\"get\">"));
- client.println(F("<button type=submit style=\"width:200px;\">Cima - </button> "));
- client.println(F("</form> <br />"));
- client.println(F("<form action=\"/baixo\" method=\"get\">"));
- client.println(F("<button type=submit style=\"width:200px;\">baixo - </button> "));
- client.println(F("</form> <br />"));
- client.println(F(""));
- client.println(F(""));
- client.println(F(""));
- client.println(F("</center>"));
- client.println(F("</body>"));
- client.println(F("</html>"));
- break;
- }//final if \n
- }//final client.avaliable
- //AQUI ACONTECEM AS COMPARACOES(Receptor)
- if (vars.endsWith(F("/assistirtv"))) acao = 2;
- else if (vars.endsWith(F("/desligartv"))) acao = 3;
- else if (vars.endsWith(F("/ok"))) acao = 4;
- else if (vars.endsWith(F("/setadireita"))) acao = 5;
- else if (vars.endsWith(F("/setaesquerda"))) acao = 6;
- else if (vars.endsWith(F("/cima"))) acao = 7;
- else if (vars.endsWith(F("/baixo"))) acao = 8;
- else if (vars.endsWith(F("/8"))) acao = 20;
- else if (vars.endsWith(F("/9"))) acao = 21;
- else if (vars.endsWith(F("/0"))) acao = 22;
- // Rele
- else if (vars.endsWith(F("/luzquarto"))) acao = 21;
- else if (vars.endsWith(F("/luzbanheiro"))) acao = 20;
- if (acao == 2) { //LIGANDO A TV
- //Ligar receptor
- irsend.sendNEC(0xFF50AF, 32);
- delay(2000);
- //ligar tv
- irsend.sendNEC(0x2FD48B7, 32);
- acao = 0;
- }
- if (acao == 3) { //DESLIGANDO A TV
- //Ligar receptor
- irsend.sendNEC(0xFF50AF, 32);
- delay(2000);
- //ligar tv
- irsend.sendNEC(0x2FD48B7, 32);
- acao = 0;
- }
- if (acao == 4) { //Ok
- irsend.sendNEC(0xFFB04F, 32);
- acao = 0;
- }
- if (acao == 5) { //SetaDiretia
- irsend.sendNEC(0xFF8877, 32);
- acao = 0;
- }
- if (acao == 6) { //seta esquerda
- irsend.sendNEC(0xFF08F7, 32);
- acao = 0;
- }
- if (acao == 7) { //Seta cima
- irsend.sendNEC(0xFFD02F, 32);
- acao = 0;
- }
- if (acao == 8) { //Seta baixo
- irsend.sendNEC(0xFF708F, 32);
- acao = 0;
- }
- if (acao == 20) { //Banheiro
- rele5 = !rele5;
- digitalWrite(pino_rele5, rele5);
- acao = 0;
- }
- if (acao == 21) { //Quarto
- rele4 = !rele4;
- digitalWrite(pino_rele4, rele4);
- acao = 0;
- }
- } //Final do if
- delay(1);
- irrecv.enableIRIn();
- client.stop();
- } //Final do if client
- }//LOOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement