Explicamos en este proyecto hardware cómo conectar un sensor de temperatura y humedad a Arduino UNO. Indicamos cómo visualizar los valores en el propio IDE de desarrollo de Arduino (usando la ventana de Serial Monitor). Mostramos también cómo guardar los valores obtenidos en la memoria EEPROM de Arduino.

Requisitos para proyecto hardware con Arduino y sensor de temperatura y humedad

Para realizar un proyecto hardware para obtener la temperatura y humedad usando Arduino UNO necesitaremos los siguientes componentes:

  • Arduino UNO:
Requisitos para proyecto hardware con Arduino y sensor de temperatura y humedad
  • Sensor de temperatura y humedad, en nuestro caso usaremos un Twig Temp&Humi Sensor SEN11301P.
Requisitos para proyecto hardware con Arduino y sensor de temperatura y humedad
  • Cable para conectar sensor con Arduino, en nuestro caso, este cable lo hemos obtenido de un clabe del audio de un lector de CD. El sensor de temperatura y humedad requiere de un cable de cuatro hilos: GND, VCC, NC y SIG. Aunque el hilo del NC no se usa:
Requisitos para proyecto hardware con Arduino y sensor de temperatura y humedad

En el siguiente artículo explicamos cómo conectar Arduino a un PC, cómo compilar un programa y cómo enviarlo al Arduino. Explicamos también cómo instalar el IDE de desarrollo de Arduino:

Conexión de sensor de temperatura y humedad con Arduino UNO

Para realizar la conexión del sensor de temperatura y humedad con el Arduino UNO, en primer lugar insertaremos el conector hembra del cable al zócalo a tal efecto del sensor, como mostramos en la siguiente imagen:

Conexión de sensor de temperatura y humedad con Arduino UNO

En la parte del sensor de temperatura, para conectarlo al Arduino, en nuestro caso hemos usado un cable que contiene tres hilos: uno rojo que va al SIG (datos), otro blanco que va al VCC (alimentación) y otro negro que va al GND (masa). El conector NC no se usa por lo que no necesita cable. Es importante tener bien identificado cada hilo para conectarlo en su pin correspondiente del Arduino:

Conexión de sensor de temperatura y humedad con Arduino UNO

En la parte del Arduino UNO conectaremos el cable rojo (SIG) al pin A0 analógico, como se muestra en la imagen:

Conexión de sensor de temperatura y humedad con Arduino UNO

El cable blanco (VCC) lo conectaremos al ping 5V, el de alimentación, como se muestra en la imagen:

Conexión de sensor de temperatura y humedad con Arduino UNO

Y el cable negro (GND) lo conectaremos a cualquier de los pines GND del Arduino (en la imagen el cable del medio, que en su origen era negro y en este extremo está «pelado»):

Conexión de sensor de temperatura y humedad con Arduino UNO

El sensor de temperatura y humedad conectado al Arduino UNO quedará como mostramos en la imagen:

Conexión de sensor de temperatura y humedad con Arduino UNO

Por supuesto, podríamos haber usado un cable específico y una placa prototipo para realizar la conexión del sensor con Arduino, aunque para el ejemplo que nos ocupa no es necesario.

Enviar programa para obtener temperatura y humedad a Arduino y testear resultado

Una vez conectado el sensor de temperatura y humedad a Arduino UNO, el siguiente paso será realizar un programa que obtenga los valores de temperatura y humedad y los muestre por el puerto serie, de esta forma podremos testear y verificar que el hardware (sensor y Arduino) funcionan correctamente.

Instalaremos los drivers necesarios, instalaremos el IDE de desarrollo de Arduino y conectaremos Arduino al PC por el puerto USB, como indicamos aquí:

A continuación escribiremos el siguiente programa:

Lo compilaremos para verificar que la sintaxis del código C++ es correcta, para ello pulsaremos el botón «Verify». Si el código es correcto devolverá «Done compiling», si hay algún error en el código lo indicará:

Enviar programa para obtener temperatura y humedad a Arduino y testear resultado

Una vez verificado el código pulsaremos en el botón «Upload» para enviar el programa a Arduino UNO. Si Arduino está correctamente conectado al PC por el puerto USB, el programa será subido y el IDE de Arduino mostrará «Done uploading»

Enviar programa para obtener temperatura y humedad a Arduino y testear resultado

Para testar el programa que hemos enviado a Arduino, abriremos la ventana de Serial Monitor del IDE de Arduino, pulsando en el botón «Serial Monitor»:

Enviar programa para obtener temperatura y humedad a Arduino y testear resultado

Si tenemos correctamente conectado el sensor de temperatura y humedad a Arduino y si el programa enviado es correcto, nos devolverá la humedad y temperatura actuales a la ventana de puerto serie:

Enviar programa para obtener temperatura y humedad a Arduino y testear resultado

Guardar resultados de temperatura y humedad en EPROM de Arduino

En Arduino el EEPROM es un espacio de memoria que puede ser utilizada por los programadores para almacenar información a largo plazo. Esta memoria es no volátil, por lo tanto aunque dejemos de alimentar eléctricamente Arduino los valores de esta memoria seguirán estando almacenados. En el siguiente artículo mostramos más información sobre el tipo de memorias del chip de Arduino y sobre para qué sirven y cómo usarlas:

Modificaremos el programa anterior que obtiene la temperatura y humedad usando el sensor Twig Temp&Humi Sensor SEN11301P para guardar los valores obtenidos en la memoria EEPROM interna de Arduino UNO (con capacidad para 1024 valores):