Menu
CoddyTech

Distanza sull'LCD

Fa parte della sezione Display e sensori del percorso Arduino di Coddy. Lezione 23 di 24.

Un sensore e uno schermo formano uno strumento che funziona senza computer: qui l'HC-SR04 misura e l'LCD mostra la distanza.

Ogni passaggio viene dalle lezioni precedenti. Misura il tempo dell'eco, trasformalo in centimetri e stampalo sulla riga inferiore con l'unità dopo il valore:

int cm = duration * 0.034 / 2;

lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm    ");

Gli spazi dopo cm sono importanti. Passando da 150 cm a 20 cm, il nuovo testo è più corto e senza quegli spazi lo schermo mostrerebbe 20 cmm. Qui la distanza viene memorizzata in un int: i centimetri interi sono più facili da leggere su uno schermo piccolo.

challenge icon

Sfida

Medio

Il display LCD mostra Distance: sulla riga superiore e lo sketch misura il tempo dell’eco. Mostra la distanza sotto:

  • converti il tempo in centimetri interi
  • all’inizio della riga inferiore, stampa il numero e poi cm, come 25 cm
  • copri i caratteri rimanenti con spazi

Premi Run, sposta l’oggetto, poi Check.

Provalo tu

#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);
  // calcola la distanza in centimetri e mostrala sulla riga inferiore, ad esempio 25 cm
  delay(200);
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Display e sensori

Esercitati da solo: Playground Arduino