Shield Ethernet com 4 Reles (Rele liga mas não desliga)

Fala pessoal uma ajudona por favor.

Tenho um projeto que achei na internet e adaptei ao meu projeto, originalmente ele era para apenas dois reles adicionei mais dois.

Porem apresentou um problema que não consigo achar o erro, os reles adicionado posteriormente ligam normalmente mas não desliga.

Sera que alguém poderia portar o código para rodar direto do cartão SD.

Os arquivos estão disponíveis para download

Desde já valew pessoal.

Exibições: 303

Anexos

Responder esta

Respostas a este tópico

  Colega, como também estou me aventurando com automaç~/ao residencial, tenho um modelinho simples que é bem intuitivo de editar, é pra ser usado com html mas sem display lcd. esse código tem ums avisos sonoros no pino 6 que fica bem bacaninha. Obs os pinos estão configurados para arduino mega, mude as portas e o IP de acordo com suas necessidades.

#include <SPI.h>
#include <Ethernet.h>

 
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0xA6, 0x09 }; //physical mac address
byte ip[] = { 192, 168, 0, 177 }; // ip in lan
byte gateway[] = { 192, 168, 0, 1 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port
 
#define DO  262
#define MI  330
#define SOL 392
#define LA  440
#define SI  523

String readString;
 
void setup(){
 
    Ethernet.begin(mac, ip, gateway, subnet);
    server.begin();
    Serial.begin(9600);
    pinMode(27, OUTPUT);
digitalWrite(27, HIGH);
    pinMode(23, OUTPUT);
digitalWrite(23, HIGH);
    pinMode(26, OUTPUT);
digitalWrite(26, HIGH);
    pinMode(24, OUTPUT);
digitalWrite(24, HIGH);
    pinMode(28, OUTPUT);
digitalWrite(28, HIGH);
    pinMode(25, OUTPUT);
digitalWrite(25, HIGH);
    pinMode(21, OUTPUT);
digitalWrite(21, HIGH);
    pinMode(19, OUTPUT);
digitalWrite(19, HIGH);
    pinMode(53, OUTPUT);
digitalWrite(53, LOW);
    pinMode(3, OUTPUT);
digitalWrite(3, LOW);
    pinMode(8, OUTPUT);
digitalWrite(8, HIGH);

tone(3,DO);
delay(350);
tone(3,MI);
delay(300);
tone(3,SOL);
delay(250);
tone(3,LA);
delay(150);

noTone(3);


digitalWrite(8,LOW);

}

void loop(){
 
    EthernetClient client = server.available();
 
    if (client) {
        while (client.connected()) {
            if (client.available()) {
                char c = client.read();
 
                //read char by char HTTP request
                if (readString.length() < 100) {
                    //store characters to string
                    readString += c;
                    //Serial.print(c);
                }
 
                //if HTTP request has ended
                if (c == '\n') {
                    Serial.println(readString);
 
                    if(readString.indexOf("?S1Desligado") >0) {
                        digitalWrite(27, HIGH);
         digitalWrite(8,HIGH);
tone(3,MI);
delay(400);
tone(3,DO);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                    }

                    if(readString.indexOf("?S1Ligado") >0) {
                        digitalWrite(27, LOW);
digitalWrite(8,HIGH);
tone(3,DO);
delay(400);
tone(3,MI);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                    }
 
                    if(readString.indexOf("?S2Desligado") >0) {
                        digitalWrite(23, HIGH);
         digitalWrite(8,HIGH);
tone(3,MI);
delay(400);
tone(3,DO);
delay(300);
noTone(3);
digitalWrite(8,LOW);

                    }
 
                    if(readString.indexOf("?S2Ligado") >0) {
                        digitalWrite(23, LOW);
digitalWrite(8,HIGH);
tone(3,DO);
delay(400);
tone(3,MI);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                                        }
 
                    if(readString.indexOf("?S3Desligado") >0) {
                        digitalWrite(26, HIGH);
         digitalWrite(8,HIGH);
tone(3,MI);
delay(400);
tone(3,DO);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                    }
 
                    if(readString.indexOf("?S3Ligado") >0) {
                        digitalWrite(26, LOW);
digitalWrite(8,HIGH);
tone(3,DO);
delay(400);
tone(3,MI);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                                        }
 
                    if(readString.indexOf("?S4Desligado") >0) {
                        digitalWrite(24, HIGH);
         digitalWrite(8,HIGH);
tone(3,MI);
delay(400);
tone(3,DO);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                    }
 
                    if(readString.indexOf("?S4Ligado") >0) {
                        digitalWrite(24, LOW);
digitalWrite(8,HIGH);
tone(3,DO);
delay(400);
tone(3,MI);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                                        }
 
                    if(readString.indexOf("?S5Desligado") >0) {
                        digitalWrite(28, HIGH);
         digitalWrite(8,HIGH);
tone(3,MI);
delay(400);
tone(3,DO);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                    }

                    if(readString.indexOf("?S5Ligado") >0) {
                        digitalWrite(28, LOW);
digitalWrite(8,HIGH);
tone(3,DO);
delay(400);
tone(3,MI);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                                        }
 
                    if(readString.indexOf("?S6Desligado") >0) {
                        digitalWrite(25, HIGH);
         digitalWrite(8,HIGH);
tone(3,MI);
delay(400);
tone(3,DO);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                    }
 
                    if(readString.indexOf("?S6Ligado") >0) {
                        digitalWrite(25, LOW);
digitalWrite(8,HIGH);
tone(3,DO);
delay(400);
tone(3,MI);
delay(300);
noTone(3);
digitalWrite(8,LOW);
                                        }

                    if(readString.indexOf("?S7Desligado") >0) {
 digitalWrite(21,LOW);
 delay(1000);
 digitalWrite(21,HIGH);
}
                    if(readString.indexOf("?S7Ligado") >0) {
 digitalWrite(21,LOW);
 delay(1000);
 digitalWrite(21,HIGH);

}

                    int S1 = digitalRead(27);
                    int S2 = digitalRead(23);
                    int S3 = digitalRead(26);
                    int S4 = digitalRead(24);
                    int S5 = digitalRead(28);
                    int S6 = digitalRead(25);
                    int S7 = digitalRead(21);


                    client.println(F("HTTP/1.1 200 OK")); //send new page
                    client.println(F("Content-Type: text/html"));
                    client.println();
                    client.println(F("<HTML>"));
                    client.println(F("<HEAD>"));
                    client.println(F("<link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css' rel='stylesheet'></link>"));
                    client.println(F("</head>"));
                    client.println(F("<body>"));
                    client.println(F("<div class='jumbotron'>"));
                    client.println(F("<h2>Interface de comando</h2>"));
                    client.println(F("<div class='row'>"));
                    client.println(F("<div class='col-md-11'>"));
                    client.println(F("<table class='table table-bordered'>"));
                    client.println(F("<tbody>"));
 
                    //S 1
                    client.println(F("<tr><td width=130px>Sala, duas luzes - "));
                    if(S1 == HIGH)
                    {
                        client.println(F("Desligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-danger btn-lg' href='?S1Ligado'>Ligar</buttDesligado>"));
                    }
                    else
                    {
                        client.println(F("Ligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-success btn-lg' href='?S1Desligado'>Desligar</buttDesligado>"));
                    }
 
                    client.println(F("</td></tr>"));
 
                    //S 2
                    client.println(F("<tr><td width=130px>Sala, mais duas luzes - "));
                    if(S2 == HIGH)
                    {
                        client.println(F("Desligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-danger btn-lg' href='?S2Ligado'>Ligar</buttDesligado>"));
                    }
                    else
                    {
                        client.println(F("Ligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-success btn-lg' href='?S2Desligado'>Desligar</buttDesligado>"));
                    }
 
                    client.println(F("</td></tr>"));
 
                    //S 3
                    client.println(F("<tr><td width=130px>Sanca - "));
                    if(S3 == HIGH)
                    {
                        client.println(F("Desligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-danger btn-lg' href='?S3Ligado'>Ligar</buttDesligado>"));
                    }
                    else
                    {
                        client.println(F("Ligado"));
                        client.println(F("</b></td><td>"));
                        client.println(F("<a class='btn btn-success btn-lg' href='?S3Desligado'>Desligar</buttDesligado>"));
                    }
                    client.println(F("</td></tr>"));
 
                    //S 4
                    client.println(F("<tr><td width=130px>Corredor - "));
                    if(S4 == HIGH)
                    {
                        client.println(F("Desligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-danger btn-lg' href='?S4Ligado'>Ligar</buttDesligado>"));
                    }
                    else
                    {
                        client.println(F("Ligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-success btn-lg' href='?S4Desligado'>Desligar</buttDesligado>"));
                    }
                    client.println(F("</td></tr>"));
 
                   //S 5
                    client.println(F("<tr><td width=130px>varanda - "));
                    if(S5 == HIGH)
                    {
                        client.println(F("Desligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-danger btn-lg' href='?S5Ligado'>Ligar</buttDesligado>"));
                    }
                    else
                    {
                        client.println(F("Ligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-success btn-lg' href='?S5Desligado'>Desligar</buttDesligado>"));
                    }
 
                    client.println(F("</td></tr>"));

                   //S 6
                    client.println(F("<tr><td width=130px>Home Office - "));
                    if(S6 == HIGH)
                    {
                        client.println(F("Desligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-danger btn-lg' href='?S6Ligado'>Ligar</buttDesligado>"));
                    }
                    else
                    {
                        client.println(F("Ligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-success btn-lg' href='?S6Desligado'>Desligar</buttLigado>"));
                    }
 
                    client.println(F("</td></tr>"));
                    //S 7
                    client.println(F("<tr><td width=130px>Nobreak sala - "));
                    if(S7 == HIGH)
                    {
                        client.println(F("Desligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-danger btn-lg' href='?S7Ligado'>Ligar</buttDesligado>"));
                    }
                    else
                    {
                        client.println(F("Ligado"));
                        client.println(F("</td><td>"));
                        client.println(F("<a class='btn btn-success btn-lg' href='?S7Desligado'>Desligar</buttDesligado>"));
                    }
 
                    client.println(F("</td></tr>"));


                    client.println(F("<a class='btn btn-link' href='/'>Verificar status chaves</a>"));
 
                    client.println(F("</td></tr>"));
 
                    client.println(F("</tbody>"));
                    client.println(F("</table>"));
                    client.println(F("</div>"));
                    client.println(F("</body>"));
                    client.println(F("</html>"));
                    delay(10);
 
                    //stopping client
                    client.stop();
                    //clearing string for next read
                    readString="";
                }
            }
        }
    }
}

Show de bola, mas oque faz o pino 3 e o pino 8.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço