Distancia en la pantalla LCD
Parte de la sección Pantallas y sensores del Journey de Arduino de Coddy. Lección 23 de 24.
Un sensor y una pantalla forman un instrumento que funciona sin una computadora: aquí el HC-SR04 mide y la pantalla LCD muestra la distancia.
Cada paso proviene de lecciones anteriores. Mide el tiempo del eco, conviértelo a centímetros e imprímelo en la fila inferior con la unidad después:
int cm = duration * 0.034 / 2;
lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm ");Los espacios después de cm importan. Al pasar de 150 cm a 20 cm, el texto nuevo es más corto y, sin esos espacios, la pantalla mostraría 20 cmm. Aquí la distancia se guarda en un int: los centímetros enteros son más fáciles de leer en una pantalla pequeña.
Desafío
IntermedioLa pantalla LCD muestra Distance: en la fila superior y el sketch mide el tiempo del eco. Muestra la distancia debajo:
- convierte el tiempo en centímetros enteros
- al principio de la fila inferior, imprime el número y después
cm, como25 cm - cubre los caracteres sobrantes con espacios
Pulsa Run, mueve el objeto y después pulsa Check.
Pruébalo tú mismo
#include <LiquidCrystal.h>
// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int trigPin = 9;
const int echoPin = 10;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16, 2);
lcd.print("Distance:");
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
// calcula los centímetros y muéstralos en la fila inferior, como 25 cm
delay(200);
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Pantallas y sensores
1Displays de siete segmentos
Display de siete segmentosPatrones de dígitos en bytesCuenta en el displayCuenta regresiva hasta ceroLanzador de dados4Sensores
Tiempo del eco ultrasónicoDel tiempo del eco a centímetrosTemperatura con termistorDe Celsius a FahrenheitBarra de nivel de luzDistancia en la pantalla LCDTermómetro LCDPractica por tu cuenta: Playground de Arduino