Tutorial Arduino: Salidas
En este artículo del tutorial sobre Arduino vamos a ver cómo utilizar sus pines de salida para enviar señales eléctricas para alimentar...
En este último post del primer tutorial veremos cómo mostrar a través de una pantalla LCD la temperatura medida con el sensor LM35 que ya aprendimos a utilizar en el post 5. ¿una pantalla LCD? Sí, pero no la confundamos con la pantalla de nuestra televisión o la de nuestro smartphone, esas son pantallas LCD-TFT,LCD-SPI... nosotros usaremos una LCD simple y a un sólo color del tipo de las que podemos encontrar en calculadoras y algunos electrodomésticos.
Tabla de contenidos
En este último post del primer tutorial veremos cómo mostrar a través de una pantalla LCD la temperatura medida con el sensor LM35 que ya aprendimos a utilizar en el post 5. ¿una pantalla LCD? Sí, pero no la confundamos con la pantalla de nuestra televisión o la de nuestro smartphone, esas son pantallas LCD-TFT,LCD-SPI... nosotros usaremos una LCD simple y a un sólo color del tipo de las que podemos encontrar en calculadoras y algunos electrodomésticos.
Suponiendo que ya tenemos nuestra placa Arduino Uno, nuestra protoboard y un juego de cables, tendremos que hacernos con el siguiente material:
Viendo la foto puede parecer complicado por la cantidad de cables que tiene, pero en realidad tener más conexiones no lo hace más difícil. Si hacemos las conexiones paso a paso nos funcionará a la primera. La que vamos a ver no es la única forma de conectar la pantalla, pero así podemos utilizar los códigos de ejemplo de la IDE para LCD sin cambiar ninguna línea. También tenéis que tener en cuenta que las pantallas las suelen vender con el agujero para soldarle un pin macho o un cable. Yo le he soldado una tira de pines macho para poder insertarla en la protoboard pero si no queréis soldar podéis meter los cables en los agujero con cuidado de que las puntas no se toquen entre sí. Ahora vamos a ver de izquierda a derecha como se conecta cada pin de la pantalla. Como los pines 5V y GND los vamos a utilizar en más de una conexión, los conectamos a las filas largas de nuestra protoboard y cuando un pin de la pantalla se corresponda con 5V o GND lo conectaremos con su fila correspondiente.
No debemos olvidar que la primera vez que se conecta, tras alimentarla debemos ajustar el potenciómetro hasta encontrar el contraste óptimo. Antes de seguir podemos verificar que funciona perfectamente cargando uno de los códigos de ejemplo de la IDE como el que encontramos en Archivo → Ejemplos → LiquidCrystal → HelloWorld.
Código
Sólo vamos a tratar en profundidad la parte del código que tiene que ver con el LCD y no con el sensor ya que está visto anteriormente. Al final del post está el código completo. En primer lugar teneos que añadir la librería para LCD en Esketch → Importar librería → LiquidCrystal o escribiendo
#include <LiquidCrystal.h>
Como la configuración de algunos pines puede variar tenemos que indicarle a la librería cuáles hemos utilizado.
LiquidCrysta lcd(12,11,5,4,3,2);
Ya podemos pasar a la función setup . Ahora iniciamos el LCD.
lcd.begin(6,2);
El 16 y el 2 se refiere al número de columnas y filas de nuestra pantalla. Lo siguiente es pasar a la función loop e indicar en qué posición de la pantalla queremos el cursor. De manera genérica, el comando es:
lcd.setCursor(columna, fila);
Pero ojo, empieza a contar desde cero, es decir, si queremos el cursor en la primera columna de la primera fila tendremos que escribir:
let.setCursor(0,0)
Una vez situado el cursor escribimos por pantalla la cadena de caracteres “Temperatura:”. Las cadenas de caracteres van entre comillas.
lcd.print(“Temperatura:”);
Suponiendo que ya hemos leído la temperatura y la tenemos almacenada en una variable llamada temp falta mostrarla por pantalla. Para que quepa la escribimos en la primera columna de la segunda fila:
lcd.setCursor(0, 1); lcd.print(temp);
Y con esto escribirá el número que amacena la variable temp . Para que nuestro proyecto quede más estético escribiremos la cadena de caracteres “C” en la octava columna de la segunda fila (el símbolo “º” no se muestra correctamente).
lcd.setCursor(7, 1); lcd.print(“C”);
Aunque es este código no vamos a tener problemas al sobrescribir, tenemos que tener en cuenta que sólo se borran las posiciones en las que se escriben, el resto sigue manteniendo los caracteres que mostraban anteriormente. Para limpiar la pantalla utilizaremos la opción clear que borrará toda la pantalla.
lcd.clear();
Por último, introducimos un delay al gusto para evitar que refresque tan rápido que no nos de tiempo a leer los datos antes de que cambien.
También te puede interesar
En este artículo del tutorial sobre Arduino vamos a ver cómo utilizar sus pines de salida para enviar señales eléctricas para alimentar...
Nuestro Arduino no sólo puede enviar señales sino que también puede recibirlas con dos propósitos principales como son, leer datos de sensores...
Curso para aprender a programar en Arduino desde cero de manera practica para que puedas crear tu propios...