Saltar la navegación

1. Control domótico de la temperatura (Ejemplo 1)

 

El primer ejemplo es una aplicación domótica, es decir, de Internet de las cosas aplicada al control del hogar. La idea es cambiar el color de la luz de una bombilla según sea el valor de la temperatura leída por un sensor. Este valor, se podría utilizar, además de para cambiar el color de la luz de una bombilla, para interactuar con otros elementos del entorno como encender o apagar la climatización, subir o bajar una persiana un toldo, etc.

En el caso particular de nuestro ejemplo, vamos a considerar que si la temperatura captada por el sensor es inferior a 10 grados la bombilla emitirá una luz azul, si está entre 10 y 40 la luz será amarilla y si es mayor de 40 la luz se pondrá roja.

Una vez definido el objetivo, hay que seleccionar los componentes necesarios:

  • Placa ARDUINO UNO R3
  • 1 sensor de temperatura
  • 1 LED RGB
  • 3 resistencias
  • Cables para conectar el led, el sensor y las resistencias

El sensor de temperatura lee la temperatura ambiente y transforma ese valor en una señal eléctrica que va al procesador de la placa ARDUINO. El sensor tiene 3 patas, una de ellas hay que conectarla a tierra, otra a la alimentación (Potencia) y la última es la señal eléctrica en la que se ha trasformado el valor de la temperatura (Vout), que habrá que conectar a una entrada analógica de la placa, porque el sensor es un dispositivo analógico (figura 1).

Figura 1. Sensor de temperatura.
Figura 1. Sensor de temperatura.

Un LED RGB que es un tipo de led que emite el color resultante de la suma de una cierta cantidad de rojo, verde y azul. Este LED tiene 4 patas. Una va a tierra (cátodo) y, a través de las otras tres patas se le da la cantidad de rojo, verde y azul (figura 2). Para que no le llegue demasiada corriente al led y se funda, es necesario utilizar una resistencia. En esta ocasión hay que colocar una resistencia en cada pata (salvo la del cátodo).

Figura 2. LED RGB.
Figura 2. LED RGB.
Tinkercad

Para simular este ejemplo vamos a utilizar Tinkercad [1], ya que no necesitamos disponer de ningún material físico (hardware). Escribimos la URL de Tinkercad en el navegador (http://www.tinkercad.com/) y nos identificamos para poder acceder a nuestra cuenta con nuestros circuitos y creamos uno nuevo (figura 3).

Figura 3. Entorno Tinkercad.
Figura 3. Entorno Tinkercad.
Selección de los diferentes componentesdel menú

A continuación hay que ir seleccionando los diferentes componentes del menú de la derecha y se van incorporando al diseño. En la figura 4 muestra el proceso que hay que hacer para encontrar cada uno de los componentes.

Figura 4. Selección de componentes en Tinkercad
Figura 4. Selección de componentes en Tinkercad

A continuación hay que conectar los componentes tal y como se indica en la figura 5. En el sensor de temperatura hay que conectar la pata de alimentación (potencia) al pin de 5V de la placa, la pata Vout a la entrada A0 y la tierra a GND. En el LED RGB hay que conectar la tierra a GND, y cada una de las otras tres patas a una resistencia. La salida de la resistencia que está conectada a la pata “rojo” se conecta a la salida digital D11, la verde a la D9 y la azul a la D10.

Figura 5. Conexión de los componentes a la placa.
Figura 5. Conexión de los componentes a la placa.
Escribir el programa

El siguiente paso es escribir el programa. Vamos a utilizar la opción de programación visual por bloques. Recordemos que tenemos bloques para especificar operaciones de entrada (Entrada), operaciones de salida (Salida), acciones de control (Control), operaciones matemáticas (Matemáticas), definir variables (Variables) y poner comentarios (Notación).

Figura 6. Tipos de bloques para escribir un programa.
Figura 6. Tipos de bloques para escribir un programa.

Vamos a ir construyendo el programa poco a poco hasta conseguir nuestro objetivo. Primero se define el LED RGB. Como es una salida, seleccionamos bloques de salida y escogemos el bloque de definición de LED RGB. Tenemos que indicarle a qué salidas está conectado el LED. La pata rojo (R) a D11, la verde (G) a D9 y la azul (B) a D10 y el color por defecto será verde (figura 7).

Figura 7. Definición del LED.
Figura 7. Definición del LED.

Es necesario definir una variable, que podemos llamar ValorTemp, para guardar el valor de la temperatura. La definimos utilizando el bloque de Variables, y le indicamos que queremos leer el sensor de temperatura que está conectado a la entrada (pasador) A0 y que el valor se de en grados centígrados (figura 8).

Figura 8. Definición de la variable de temperatura.
Figura 8. Definición de la variable de temperatura.

Una vez almacenado el valor de la temperatura actual en nuestra variable, tenemos que ver en qué rango se encuentra, para que el led se ponga de un color u otro. Es decir, según el valor de la temperatura hay que hacer una cosa diferente. Lo primero es comprobar si la temperatura es inferior a 10 grados, y en ese caso, la luz debe ponerse azul. Para expresar las condiciones hay que utilizar un bloque de control “si…entonces…”. Como hay que hacer una comparación matemática (comprobar si ValorTemp <10) vamos al bloque de Matemáticas y seleccionamos el bloque de comparación. A continuación le decimos que queremos comparar la variable ValorTemp con 10 y, por último añadimos el bloque de salida para indicar que el led RGB se ponga azul (figura 9).

Figura 9. Si ValorTemp < 10 poner el led azul.
Figura 9. Si ValorTemp < 10 poner el led azul.

En el siguiente intervalo tenemos que comparar con dos valores, por lo que hay que utilizar el bloque matemático que contiene “y”. Con este bloque y el de comparación expresamos que si ValorTemp ≥ 10 y ValorTemp ≤ 40, hay que poner el led amarillo (figura 10).

Figura 10. Si 10 ≥ ValorTemp ≤ 30 poner el led amarillo.
Figura 10. Si 10 ≥ ValorTemp ≤ 30 poner el led amarillo.

Por último, de forma similar al primer caso, le decimos que si ValorTemp es mayor que 40, se ponga la luz roja (figura 11).

Figura 11. Si ValorTemp > 40 poner el led rojo.
Figura 11. Si ValorTemp > 40 poner el led rojo.

En la figura 12 se puede ver el programa completo.

Figura 12. Programa completo.
Figura 12. Programa completo.
Simular la ejecución y comprobar funcionamiento

El último paso es simular la ejecución y comprobar que funciona correctamente. Para ello, ocultamos el código y pulsamos en Iniciar simulación (figura13).

Figura 13. Botones de Código e Inicio de simulación.
Figura 13. Botones de Código e Inicio de simulación.

Durante la comprobación hay que ir variando el regulador de temperatura (figura 14) para simular cambios de temperatura y verificar que el color del led cambia según sea este valor.

Figura 14. Regulador de temperatura.
Figura 14. Regulador de temperatura.

En la figura 15 se observa el resultado de la simulación. Cuando la temperatura es de 7 grados (figura 15a), que es menor que 10, la luz es azul. Cuando la temperatura es de 26 grados (figura 15b), como está entre 10 y 40, es amarilla y, por último, como la temperatura es de 57 grados (figura 15c), que es superior a 40 grados, el led estará rojo.

Figura 15. Resultado de la simulación.
Figura 15. Resultado de la simulación.