esp32 ligar lampada

Início Fóruns NodeMCU e Outros esp32 ligar lampada

A visualizar 1 artigo (de um total de 1)
  • Autor
    Artigos
  • #3330 Reply
    vars161
    Convidado

    boa tarde
    sou novo em programaçao arduino\esp32 e precisava de ajuda, por favor
    estou a fazer um projeto para ligar e desligar luzes da minha casa com esp32 e rele.
    eu queria poder controlar por net e tambem por infravermelho, ja tenho os dois codigos em separado a funcionar, no entanto queria juntar os dois codigos num esp32, já esperimentei juntar os dois mas os reles ficam a desligar e ligar sem parar.
    a outra pergunta é, como fixo o ip do esp32?
    #include <IRremote.h>
    int RECV_PIN = 23; // Diz que o receptor IR esta conectado no pino 23
    IRrecv irrecv(RECV_PIN);
    decode_results results;

    #include <WiFi.h>

    //Configuración de red
    const char* ssid = “casa”;
    const char* password = “xxxxxx”;

    WiFiServer server(80); //Servidor web

    const int LED1 = 18; //Pines de cada LED
    const int LED2 = 19;

    //Variables Cliente
    char linebuf[80];
    int charcount=0;

    void setup()
    {
    Serial.begin(115200); // Abre a porta serial.
    pinMode(18, OUTPUT); // Define o pino 18 como saida.
    irrecv.enableIRIn(); // Inicia o receptor IR.

    }

    {
    //Inicializamos el puerto sere
    Serial.begin(115200);

    //Configuramos los pines como salida.
    pinMode(LED1, OUTPUT);
    pinMode(LED2, OUTPUT);

    Serial.printf(“Conectando a: %s\n”, ssid);

    WiFi.begin(ssid, password);

    // Intentamos que se conecte a la red wifi
    while(WiFi.status() != WL_CONNECTED) {
    Serial.println(“Conectando…”);
    delay(2000);
    }

    Serial.print(“Conectado. “);
    Serial.print(” Dirección IP del módulo: “);
    Serial.println(WiFi.localIP());

    server.begin(); //Iniciamos el servidor web.
    }

    void loop() {
    // Esperamos a que se conecte un cliente
    WiFiClient client = server.available();
    if (client) {
    Serial.println(“Nuevo Cliente”);
    memset(linebuf,0,sizeof(linebuf));
    charcount=0;
    // Una petición http termina con línea en blanco.
    boolean currentLineIsBlank = true;

    while (client.connected()) { //Mientras que el cliente está conectado
    if (client.available()) { //Si se recibe algun dato del cliente.
    char c = client.read();
    Serial.write(c);
    //Lee caracter por caracter la petición http
    linebuf[charcount]=c;
    if (charcount<sizeof(linebuf)-1) charcount++;
    // si se recibe un caracter de nueva línea (/n) y la siguiente línea
    // es una líne en blanco entonces la petición http ha terminado y podemos
    // responder al cliente

    if (c == ‘\n’ && currentLineIsBlank) {
    // send a standard http response header
    client.println(“HTTP/1.1 200 OK”);
    client.println(“Content-Type: text/html”);
    client.println(“Connection: close”); // the connection will be closed after completion of the response
    client.println();
    client.println(“<!DOCTYPE HTML><html><head>”);
    client.println(“<body style=\”background-color:#0066aa;\”>”);
    client.println(“<meta name=\”viewport\” content=\”width=device-width, initial-scale=1\”></head>”);
    client.println(“<h1 style=\”width:500px;height:20px;color:#ffffff;\”>Tutorial Web Server ESP32 </h1>”);
    client.println(“<p style=\”color:#ffffff\”>LED #1 <button>ON</button> <button>OFF</button></p>”);
    client.println(“<p style=\”color:#ffffff\”>LED #2 <button>ON</button> <button>OFF</button></p>”);
    client.println(“</html>”);
    break;
    }

    if (c == ‘\n’) {
    // Empieza una nueva línea
    currentLineIsBlank = true;
    if (strstr(linebuf,”GET /on1″) > 0){
    Serial.println(“LED 1 ON”);
    digitalWrite(LED1, HIGH);
    }
    else if (strstr(linebuf,”GET /off1″) > 0){
    Serial.println(“LED 1 OFF”);
    digitalWrite(LED1, LOW);
    }
    else if (strstr(linebuf,”GET /on2″) > 0){
    Serial.println(“LED 2 ON”);
    digitalWrite(LED2, HIGH);
    }
    else if (strstr(linebuf,”GET /off2″) > 0){
    Serial.println(“LED 2 OFF”);
    digitalWrite(LED2, LOW);
    }
    // Empieza una nueva línea
    currentLineIsBlank = true;
    memset(linebuf,0,sizeof(linebuf));
    charcount=0;
    } else if (c != ‘\r’) {
    // Todavía queda un caracter en la línea actual
    currentLineIsBlank = false;
    }
    }
    }

    delay(1); // Esperamos un poco para que el navegador reciba los datos.

    // Cerramos la conexión con el cliente
    client.stop();
    Serial.println(“Cliente desconectado”);
    }

    void loop(){
    if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC); // Envia o codigo do botão pressionado para a porta serial.
    irrecv.resume();
    }
    if (results.value == 16724175){ digitalWrite(18,HIGH);} // Se o receptor IR receber o codigo “70” ira Acionar o Relé.
    delay (100);
    if (results.value == 16718055){ digitalWrite(18,LOW);} // Se o receptor IR receber o codigo “60” ira Desligar o Relé.

    }}

A visualizar 1 artigo (de um total de 1)
Resposta a: esp32 ligar lampada
A sua informação





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">