You are on page 1of 2

#include <Ethernet.

h>
#include <SPI.h>
#include "DHT.h"

#define DHTPIN 2 // Puerto Digital del Arduino al cual esta


conectado el pin 2 del sensor
#define DHTTYPE DHT22 // DHT 22

DHT dht(DHTPIN, DHTTYPE); // Inicializa el sensor

// Configuracion del Ethernet Shield


byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x4E, 0xD7 }; // Direccion MAC
byte ip[] = { 192,168,1,87 }; // Direccion IP del
Arduino
byte server[] = { 192,168,1,117 }; // Direccion IP del
servidor
EthernetClient client;

// Configura Arduino
void setup() {
// Inicializa puerto serial
Serial.begin(9600);
Serial.println("Invernadero Sistemas");
Serial.print("Sensor de temperatura-humedad DHT");
delay(1000); // Esperamos 1 segundo de cortesia
Ethernet.begin(mac, ip); // Inicializamos el Ethernet Shield

// Imprime la direccion IP de la tarjeta


Serial.print("Direccion IP: ");
Serial.println(Ethernet.localIP());
Serial.println();

// Inicializa Sensor DHTxx


Serial.print("Iniciando Sensor DHT");
Serial.println(DHTTYPE);
Serial.println();
dht.begin();
// Espera dos segundos para dar tiempo al sensor mientras obtiene muestra
delay(2000);
}

void loop() {
delay(1000); // Espera dos segundos para realizar la primera medici�n, el sensor
muestrea la temperatura cada 1 segundos}
float h = dht.readHumidity(); // Obtiene la Humedad
float t = dht.readTemperature(); // Obtiene la Temperatura en Celsius

// Control de errores, valida que se obtuvieron valores para los datos medidos
if (isnan(h) || isnan(t)) {
Serial.println("Falla al leer el sensor DHT!");
return;
}

Serial.print("Humedad: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.println(" *C ");

if (client.connect(server, 80)) { // Conexion con el servidor


client.print("GET /prueba/iot.php?valorh="); // Enviamos los datos por GET
client.print(h);
client.print("GET /prueba/iot.php?valort="); // Enviamos los datos por GET
client.print(t);
client.println(" HTTP/1.0");
client.println("User-Agent: Arduino 1.0");
client.println();
Serial.println("Conectado");
} else {
Serial.println("Fallo en la conexion");
}
if (!client.connected()) {
Serial.println("Disconnected!");
}
client.stop();
client.flush();
delay(60000); // Espero un minuto antes de tomar otra muestra
}

You might also like