Nota
Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti?
Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.
Anteprime esclusive: Ottieni accesso anticipato ai nuovi annunci di prodotti e anteprime.
Sconti speciali: Approfitta di sconti esclusivi sui nostri nuovi prodotti.
Promozioni festive e omaggi: Partecipa a promozioni e omaggi durante le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi!
6.4 Sistema di Assistenza al Parcheggio¶
Con lo sviluppo della scienza e della tecnologia, molti prodotti high-tech sono stati installati nelle auto, tra cui il sistema di assistenza al parcheggio. In questo progetto, utilizzeremo un modulo a ultrasuoni, un display LCD, LED e un buzzer per creare un semplice sistema di assistenza al parcheggio.
Componenti necessari
Per questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente comodo acquistare un intero kit, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
3 in 1 Starter Kit |
380+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
Schema elettrico
Collegamenti
Codice
Nota
Puoi aprire il file
6.4_reversingAid.inonel percorso3in1-kit\basic_project\6.4_reversingAiddirettamente.Oppure copia questo codice nell’Arduino IDE.
La libreria
LiquidCrystal I2Cè utilizzata qui, puoi installarla dal Library Manager.
Dopo aver caricato correttamente il codice, la distanza rilevata verrà visualizzata sull’LCD. Successivamente, il buzzer cambierà la frequenza del suono in base alle diverse distanze.
Nota
Se il codice e i collegamenti sono corretti, ma l’LCD non mostra nulla, puoi regolare il potenziometro sul retro.
Come funziona?
Questo codice ci aiuta a creare un semplice dispositivo di misurazione della distanza che può rilevare la distanza tra oggetti e fornire un feedback tramite un display LCD e un buzzer.
La funzione loop() contiene la logica principale del programma e viene eseguita continuamente. Vediamo più da vicino la funzione loop().
Ciclo per leggere la distanza e aggiornare i parametri
Nel ciclo
loop, il codice legge prima la distanza misurata dal modulo a ultrasuoni e aggiorna il parametro dell’intervallo in base alla distanza.// Update the distance distance = readDistance(); // Update intervals based on distance if (distance <= 10) { intervals = 300; } else if (distance <= 20) { intervals = 500; } else if (distance <= 50) { intervals = 1000; } else { intervals = 2000; }
Verifica se è il momento di emettere un beep
Il codice calcola la differenza tra il tempo attuale e il tempo del beep precedente, e se la differenza è maggiore o uguale al tempo dell’intervallo, attiva il buzzer e aggiorna il tempo del beep precedente.
unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= intervals) { Serial.println("Beeping!"); beep(); previousMillis = currentMillis; }
Aggiornamento del display LCD
Il codice pulisce il display LCD e visualizza «Dis:» e la distanza attuale in centimetri sulla prima linea.
lcd.clear(); lcd.setCursor(0, 0); lcd.print("Dis: "); lcd.print(distance); lcd.print(" cm"); delay(100);