Distância no LCD
Parte da seção Displays e sensores do Journey de Arduino da Coddy. Lição 23 de 24.
Um sensor e uma tela formam um instrumento que funciona sem um computador: aqui, o HC-SR04 mede e o LCD mostra a distância.
Cada etapa vem de lições anteriores. Meça o tempo do eco, converta-o em centímetros e exiba-o na linha de baixo, com a unidade depois do valor:
int cm = duration * 0.034 / 2;
lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm ");Os espaços depois de cm são importantes. Ao passar de 150 cm para 20 cm, o novo texto é mais curto e, sem esses espaços, a tela mostraria 20 cmm. Aqui, a distância é armazenada em um int: centímetros inteiros são mais fáceis de ler em uma tela pequena.
Desafio
MédioO LCD exibe Distance: na linha de cima e o sketch mede o tempo do eco. Exiba a distância abaixo:
- converta o tempo em centímetros inteiros
- no início da linha de baixo, imprima o número e depois
cm, como25 cm - cubra os caracteres restantes com espaços
Pressione Run, mova o objeto e, em seguida, Check.
Experimente você mesmo
#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);
// calcule a distância em centímetros e mostre-a na linha de baixo, como 25 cm
delay(200);
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Displays e sensores
Pratique por conta própria: Playground de Arduino