Menu
CoddyTech

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.

challenge icon

Desafio

Médio

O 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, como 25 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);
}
quiz iconTeste seus conhecimentos

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