PRIMER PROYECTillo: Agarrando el toro por los cuernos, me lanzo a buscar un proyecto de enchufe inteligente (smart socket/outlet) por los blogs. Es una grata sorpresa ver que de mi caja mágica salen todos los aparatejos y cables necesarios para llevar a cabo el ejemplo de este blog: Enchufe controlado por Arduino. Sólo hace falta un poco de cable (lo tengo), un enchufe macho (lo tengo) y un enchufe hembra (no lo tengo. Lo compro por 1 euro).

El ejemplo está tan detallado y aderezado con fotos y diagramas que es imposible perderse. Lo ensamblo todo:enchufe-inteligente-smart-socket-arduinoCopio el sketch (código) en el entorno (más bien entornito) de programación de Arduino. Botón de Verificar. Botón de Subir. Varias lucecitas parpadean en la placa. En el Arduino IDE, abro el Monitor de serie y nada.. Tras pelearme un poco con el código.. Eureka!

#include "DHT.h"
#define DHTPIN 7 //El pin digital al que estamos conectados ?
#define DHTTYPE DHT11 // nuestro tipo de sensor es el DHT 11 ?
int pinOut = 8;
DHT dht(DHTPIN, DHTTYPE);

void setup(){
Serial.begin(9600);
Serial.println("DHT11 Prueba sketch _1-TempHumedad!");
pinMode(8, OUTPUT);
}

void loop()
{
// Reading temperature or humidity takes about 250 milliseconds!
float h = dht.readHumidity(); // Sensor readings may also be up to 2 seconds (its a very slow sensor)
float t = dht.readTemperature(); // Read temperature as Celsius (the default)

delay(2000);// Wait a few seconds between measurements.

// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}

if (t >= 24){ //Lámpara encendida cuando la temperatura es 24ºC o más
digitalWrite(pinOut, HIGH);
Serial.print(" ON ");
}
else { //Lámpara apagada cuando la temperatura es menor de 24ºC
digitalWrite(pinOut, LOW);
Serial.print(" OFF ");
}

// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);

Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.println(" *C ");
}

Empiezo a ver cosas coherentes en la consola. Reorganizo un poco los println y ya funciona:

En OFF cuando la temperatura es menor de 24ºC. La lámpara esta apagada.

Sube la temperatura (le echo el aliento al sensor) y se escuchá el relé..Click!

En ON cuando la temperatura es igual o mayor de 24ºC. La lámpara está encendida.

com3-smart-socket-arduino

Suben los ánimos.. ¿Que es lo siguiente?

Anuncios