COMPONENTES:
1 ARDUINO
1 MODULO ETHERNET
1 MODULO RELE
1 SENSOR DHT 11, TEMPERATURA Y HUMEDAD
CABLES PARA CONEXIÓN
ENLACE DE DESCARGA
CÓDIGO ARDUINO:
#include <SPI.h>
#include <Ethernet.h>
#include "DHT.h"
#define DHTPIN 6 //Tenemos que poner el numero en el pin que tenemos conectado el sensor DTH 11
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float t,h;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,250);//Tenemos que poner la IP en el rango de nuestro router
EthernetServer server(80);
int rele1=7; //Tenemos que poner el numero en el pin que tenemos conectado el rele
boolean estado=false;
String recibido;
void setup()
{
Serial.begin(9600);
dht.begin();
Ethernet.begin(mac, ip);
server.begin();
Serial.print("Servidor en: ");
Serial.println(Ethernet.localIP());
pinMode(rele1,OUTPUT);
}
void loop()
{
EthernetClient client = server.available();
if (client) {
Serial.println("Conectado un cliente");
recibido="";
if (client.connected())
{
if (client.available())
{
recibido= client.readString();
Serial.println(recibido);
rele();
temperatura();
Serial.println(t);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<head>");
client.println("<title>ARDUINO SERVIDOR</title>");//poner el nombre que quiere que muestre la página
client.println("</head>");
client.println("<body>");
client.println("<h1>DOMOTICAMAYCA</h1>");
client.println("<h3>TEMPERATURA");
client.println(" ");
client.println(t);
client.println("</h3>");
client.println("<h3>HUMEDAD:");
client.println(" ");
client.println(h);
client.println("</h3>");
client.println("<button onClick=location.href='./?RELE1ON\' value='encender'/>ENCENDER </button>");
client.println(" ");
client.println("<button onClick=location.href='./?RELE1OFF\' value='apagar'/>APAGAR</button>");
client.println("<br><br>");
if (estado==true){ client.println("LUZ ENCENDIDA");}
if (estado==false){client.println("LUZ APAGADA");}
client.println("</body>");
client.println("</html>");
delay(10);
client.stop();
}
}
}
}
void rele(){
if(recibido.indexOf("RELE1ON")>=0)
{
digitalWrite(rele1,HIGH);
estado=true;
}
if(recibido.indexOf("RELE1OFF")>=0)
{
digitalWrite(rele1,LOW);
estado=false;
}
}
void temperatura(){
h = dht.readHumidity();
t = dht.readTemperature();
}
No hay comentarios:
Publicar un comentario