ok te paso el codigo
/*
PInes usados:
Ethernet: 10,11,12,13
LCD: 9,8,7,6,5,2
Temperatura: 3
Luz: A0
*/
////Includes
#include <SPI.h>
#include <Ethernet.h>
#include <LiquidCrystal.h>
#include <EEPROM.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(9, 8, 7, 6, 5, 2);
////Ethernet
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, XXX;
IPAddress gateway(192, 168, 1, XXX);
IPAddress subnet(255, 255, 255, 0);
IPAddress server(192, 168, 1, XXX);
char serverName[] = "192.168.1.XXX";
int serverPort = 80;
EthernetClient client;
char pageAdd[64];
#define delayMillis 60000UL //60 segundos
unsigned long thisMillis = 0;
unsigned long lastMillis = 0;
////definicion de actuadores
int calefaccion = 1;
int ventilacion = 0;
int iluminacion = 0;
int extraccion = 0;
int aspersor = 0;
////definicion de minimos y maximos
int TempMax = 25;
int TempMin = 20;
int PhMax = 7;
int PhMin = 5;
int HumMin = 60;
int HumMax = 80;
int LuxMin = 100;
int LuxMax = 750;
//////////////////////
void setup()
{
pinMode(4,OUTPUT);
digitalWrite(4,HIGH);
digitalWrite(10, LOW);
lcd.begin(16, 2);
lcd.cursor();
lcd.setCursor(1, 0);
lcd.print("Inicializando");
Serial.begin(9600);
pinMode(calefaccion, OUTPUT);
pinMode(ventilacion, OUTPUT);
pinMode(iluminacion, OUTPUT);
pinMode(extraccion, OUTPUT);
pinMode(aspersor, OUTPUT);
sensors.begin();
// Start ethernet
Serial.println(F("Starting ethernet..."));
Ethernet.begin(mac, ip, gateway, gateway, subnet);
Serial.println(Ethernet.localIP());
delay(2000);
Serial.println(F("Ready"));
}
void loop()
{
////Obtengo datos de sensores////
sensors.requestTemperatures();
int Temp = sensors.getTempCByIndex(0); //obtengo los datos del sensor de temperatura
int Ph = 6; //obtengo los datos del sensor de Ph
int Hum = 68; //obtengo los datos del sensor de humedad
int Lux = analogRead(A0); // Read the analogue pin
float Vout0 = Lux * 0.0048828125; // calculate the voltage
Lux = 104.1 * Vout0; // calculate the Lux
////Temperatura////
if (Temp <= TempMin)
{
lcd.clear();
Serial.println(F("!!--Esta frio: "));
Serial.println(Temp);
lcd.setCursor(1, 0);
lcd.print("Temp. muy fria");
lcd.setCursor(0, 1);
lcd.print("!!");
lcd.setCursor(6, 1);
lcd.print(Temp);
lcd.print("C");
lcd.setCursor(14, 1);
lcd.print("!!");
digitalWrite(calefaccion, HIGH);////si esta frio prendo la calefaccion
digitalWrite(ventilacion, LOW);////y apago la ventilacion
delay(2000);////refresco
Serial.println(F("!!--Calefaccion ON--!!"));
lcd.setCursor(0, 1);
lcd.print("!Calefaccion ON!");
delay(1000);////refresco
}
if (Temp >= TempMax)
{
lcd.clear();
Serial.print("!!--Esta caliente: ");
Serial.println(Temp);
lcd.setCursor(1, 0);
lcd.print("Temp. muy alta");
lcd.setCursor(0, 1);
lcd.print("!!");
lcd.setCursor(6, 1);
lcd.print(Temp);
lcd.print("C");
lcd.setCursor(14, 1);
lcd.print("!!");
digitalWrite(ventilacion, HIGH);////si esta muy caluroso enciendo la ventilacion
digitalWrite(calefaccion, LOW);////y apago la calefaccion
delay(2000);////refresco
Serial.print("!!--Ventilacion ON--!!");
lcd.setCursor(0, 1);
lcd.print("!Ventilacion ON!");
delay(1000);////refresco
}
////Ph del agua////
if (Ph <= PhMin)
{
lcd.clear();
Serial.print("!!--Agua acida: ");
Serial.println(Ph);
lcd.setCursor(3, 0);
lcd.print("Ph muy bajo");
lcd.setCursor(0, 1);
lcd.print("!!");
lcd.setCursor(6, 1);
lcd.print(Ph);
lcd.setCursor(14, 1);
lcd.print("!!");
delay(2000);////refresco
}
if (Ph >= PhMax)
{
lcd.clear();
Serial.print("!!--Agua basica: ");
Serial.println(Ph);
lcd.setCursor(3, 0);
lcd.print("Ph muy alto");
lcd.setCursor(0, 1);
lcd.print("!!");
lcd.setCursor(6, 1);
lcd.print(Ph);
lcd.setCursor(14, 1);
lcd.print("!!");
delay(2000);////refresco
}
////Humedad ambiente////
if (Hum <= HumMin)
{
lcd.clear();
Serial.print("!!--Ambiente muy seco: ");
Serial.println(Hum);
lcd.setCursor(2, 0);
lcd.print("Amb. muy seco");
lcd.setCursor(0, 1);
lcd.print("!!");
lcd.setCursor(6, 1);
lcd.print(Hum);
lcd.print("%");
lcd.setCursor(14, 1);
lcd.print("!!");
digitalWrite(aspersor, HIGH);////si el ambiente esta muy seco enciendo los asperores
digitalWrite(ventilacion, LOW);////y apago la ventilacion
delay(2000);////refresco
}
if (Hum >= HumMax)
{
lcd.clear();
Serial.print("!!--Ambiente muy humedo: ");
Serial.println(Hum);
lcd.setCursor(0, 0);
lcd.print("Amb. muy humedo");
lcd.setCursor(0, 1);
lcd.print("!!");
lcd.setCursor(6, 1);
lcd.print(Hum);
lcd.print("%");
lcd.setCursor(14, 1);
lcd.print("!!");
digitalWrite(extraccion, HIGH);////si el ambiente esta muy humedo extraigo el aire
digitalWrite(ventilacion, LOW);////y apago la ventilacion
delay(2000);////refresco
Serial.print("!!--Extraccion ON--!!");
lcd.setCursor(0, 1);
lcd.print("!Extraccion ON !");
delay(1000);////refresco
}