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.
Sfida
MedioIl 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, come25 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);
}
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