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
- const int RECV_PIN = 2;
- IRsend irsend;
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- byte mac[] = {
- 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
- };
- IPAddress ip(192, 168, 1, 177);
- EthernetServer server(80);
- //RELES
- int pino_rele4 = 4; // Luz Quarto
- int pino_rele5 = 5; // Luz do banheiro
- void setup() {
- Serial.begin(9600);
- pinMode(pino_rele4, OUTPUT); // Quarto
- pinMode(pino_rele5, OUTPUT); // banheiro
- //Desliga os reles
- digitalWrite(pino_rele4, HIGH); // Quarto
- digitalWrite(pino_rele5, HIGH); // banheiro
- while (!Serial) {
- ;
- }
- 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) {
- boolean currentLineIsBlank = true;
- String vars;
- int acao = 0;
- while (client.connected()) {
- if (client.available()) {
- char c = client.read();
- vars.concat(c);
- ///Rele
- //AQUI ACONTECEM AS COMPARACOES(Receptor)
- if (vars.endsWith("/assistirtv")) acao=2;
- else if (vars.endsWith("/desligartv")) acao=3;
- else if (vars.endsWith("/ok")) acao=4;
- else if (vars.endsWith("/setadireita")) acao=5;
- else if (vars.endsWith("/setaesquerda")) acao=6;
- else if (vars.endsWith("/cima")) acao=7;
- else if (vars.endsWith("/baixo")) acao=8;
- else if (vars.endsWith("/8")) acao=20;
- else if (vars.endsWith("/9")) acao=21;
- else if (vars.endsWith("/0")) acao=22;
- // Rele
- else if (vars.endsWith("/luzquarto")) acao=20;
- else if (vars.endsWith("/luzbanheiro")) acao=21;
- Serial.write(c);
- if (c == '\n' && currentLineIsBlank) {
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println();
- client.println("<!doctype html>");
- client.println("<head>");
- client.println("<meta charset=\"utf-8\">");
- client.println("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"");
- client.println("<title>Automação meu QUARTO</title>");
- client.println("<meta name=\"viewport\" content=\"width=320\">");
- client.println("<meta name=\"viewport\" content=\"width=device-width\">");
- client.println("<meta charset=\"utf-8\">");
- client.println("<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\">");
- client.println("</head>");
- client.println("<body>");
- client.println("<center>");
- client.println("<meta charset=\"utf-8\">");
- client.println("<font size=\"5\" face=\"verdana\" color=\"green\">AUTOMAÇÃO</font>");
- client.println("<font size=\"5\" face=\"verdana\" color=\"blue\"> QUARTO</font><br />");
- client.println("<form action=\"/assistirtv\" method=\"get\">");
- client.println("<button type=submit style=\"width:200px;\">Ligar TV - </button> ");
- client.println("</form> <br />");
- client.println("<form action=\"/cima\" method=\"get\">");
- client.println("<button type=submit style=\"width:200px;\">Cima - </button> ");
- client.println("</form> <br />");
- client.println("<form action=\"/baixo\" method=\"get\">");
- client.println("<button type=submit style=\"width:200px;\">baixo - </button> ");
- client.println("</form> <br />");
- client.println("");
- client.println("");
- client.println("");
- client.println("</center>");
- client.println("</body>");
- client.println("</html>");
- if (acao == 2){ //LIGANDO A TV
- //Ligar receptor
- irsend.sendNEC(0xFF50AF, 32);
- delay(2000);
- //ligar tv
- irsend.sendNEC(0x2FD48B7, 32);
- acao=0;
- }
- else if (acao == 3){ //DESLIGANDO A TV
- //Ligar receptor
- irsend.sendNEC(0xFF50AF, 32);
- delay(2000);
- //ligar tv
- irsend.sendNEC(0x2FD48B7, 32);
- acao=0;
- }
- else if (acao == 4){ //Ok
- irsend.sendNEC(0xFFB04F, 32);
- acao=0;
- }
- else if (acao == 5){ //SetaDiretia
- irsend.sendNEC(0xFF8877, 32);
- acao=0;
- }
- else if (acao == 6){ //seta esquerda
- irsend.sendNEC(0xFF08F7, 32);
- acao=0;
- }
- else if (acao == 7){ //Seta cima
- irsend.sendNEC(0xFFD02F, 32);
- acao=0;
- }
- else if (acao == 8){ //Seta baixo
- irsend.sendNEC(0xFF708F, 32);
- acao=0;
- }
- else if (acao == 20) //Banheiro
- {
- digitalWrite(pino_rele5, !digitalRead(pino_rele5));
- acao=0;
- }else if (acao == 21) //Quarto
- {
- digitalWrite(pino_rele4, !digitalRead(pino_rele4));
- acao=0;
- }
- else
- {
- //NÃO FAZ NADA
- }
- break;
- }
- if (c == '\n') {
- currentLineIsBlank = true;
- } else if (c != '\r') {
- currentLineIsBlank = false;
- }// Final do if
- } //Final do if
- } // Final do while
- delay(1);
- irrecv.enableIRIn();
- client.stop();
- } //Final do if client
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement