Sensore di parcheggio: distanza
Fa parte della sezione Progetti del percorso Arduino di Coddy. Lezione 9 di 24.
Le auto hanno sensori di parcheggio che emettono segnali acustici sempre più rapidi mentre fai retromarcia verso un muro. Questo progetto ne realizza uno: un sensore di distanza, tre spie di avvertimento, un cicalino e uno schermo, tutti già collegati. Il primo passaggio è la misurazione.
Come in Displays and Sensors, un impulso di 10 microsecondi su TRIG invia un ping e pulseIn(echoPin, HIGH) restituisce per quanto tempo ECHO è rimasto HIGH, in microsecondi. Il suono impiega circa 58 microsecondi per percorrere un centimetro e tornare indietro, quindi la distanza in cm è quel tempo diviso per 58 (lo stesso risultato di duration * 0.034 / 2). Tieni tutto in un'unica funzione:
long readDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration / 58;
}Misura circa dieci volte al secondo: il sensore ha bisogno di una breve pausa tra un ping e l'altro, altrimenti un'eco tardiva del ping precedente potrebbe essere scambiata per quella nuova.
Sfida
FacileIl sensore ha TRIG sul pin 9 ed ECHO sul pin 10:
- scrivi
readDistance(): l'impulso di trigger,pulseIn()e il tempo diviso per 58 - in
loop(), stampa la distanza conSerial.println()ogni 100 ms
Premi Run, trascina la distanza sul sensore, poi Check.
Provalo tu
// Il sensore di distanza
const int trigPin = 9;
const int echoPin = 10;
// Invia un impulso e restituisce la distanza in cm.
long readDistance() {
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
// stampa la distanza, poi attendi 100 ms
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Progetti
3Sensore di parcheggio
Sensore di parcheggio: distanzaSensore di parcheggio: luciSensore di parcheggio: segnali acusticiSensore di parcheggio: displayEsercitati da solo: Playground Arduino