ARDUINO: Mostrar Datos en la LCD



En esta práctica mostraremos lecturas en nuestra LCD de dos de nuestros sensores, en este ejemplo usaremos el sensor digital HC-SR04, así que no se entrará en detalles para la explicación sobre este sensor. Nuestra LCD nos sirve perfectamente para mostrar distintos datos, temperatura, tiempo, humedad, etc., dependiendo de qué queremos que se muestre.

Materiales:

  • 1x Arduino

  • 1x LCD16x2

  • 1x Potenciómetro de 10K

  • 1x Resistor de 220

  • 1x Sensor HC-SR04

  • 1x Protoboard

  • Jumpers

Esquema de montaje

 
 

Código

El código es bastante simple, primero que nada, incluimos la Liberia de la LCD y se define esta misma, después se definen los pines a utilizar para el sensor ultrasónico y las variables necesarias. En el setup se inicializa la LCD con lcd.begin y también los pines, ya en nuestro loop se hacen los cálculos para medir la distancia. El uso de la LCD está un poco más abajo, usando setCursor queremos que nuestro mensaje aparezca en la primera fila y primera columna, después usamos lcd.print e imprimimos “Distancia”, volvemos a utilizar lcd.print pero ahora pasamos como parámetro la variable Distancia a donde se almacena la distancia que nos arroja el sensor ultrasónico, como ven, ahora para imprimir la distancia no usamos setCursor, si no se usa la impresión será seguida cuando se definió el primer setCursor, después simplemente se usa un delay de 10 para tener un tiempo en que cambien las medidas de la distancia.

#include <LiquidCrystal.h>
#define TRIG 9
#define ECHO 8

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

long Tiempo;
float Distancia;

void setup() {
  lcd.begin(16, 2);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

void loop() {
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);

  Tiempo = (pulseIn(ECHO, HIGH)/2);
  Distancia = float(Tiempo * 0.0343);

  lcd.setCursor(0,0); 
  lcd.print("Distancia: ");
  lcd.print(Distancia);
  delay(10);
}