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.
Tags:
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por