Nota

Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto Esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra community e del nostro team.

  • Impara e Condividi: Scambia consigli 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 prodotti più recenti.

  • Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi!

6.3 Sistema di Assistenza al Parcheggio

Immagina questo: sei in auto, pronto per fare retromarcia in un parcheggio stretto. Con il nostro progetto, avrai un modulo ultrasonico montato sul retro del veicolo, che funge da occhio digitale. Quando inserisci la retromarcia, il modulo si attiva, emettendo impulsi ultrasonici che rimbalzano sugli ostacoli dietro di te.

La magia avviene quando questi impulsi tornano al modulo. Esso calcola rapidamente la distanza tra la tua auto e gli oggetti, trasformando questi dati in un feedback visivo in tempo reale visualizzato su un vivace schermo LCD. Potrai vedere indicatori dinamici a colori che rappresentano la vicinanza degli ostacoli, garantendoti una comprensione chiara dell’ambiente circostante.

Ma non ci siamo fermati qui. Per immergerti ulteriormente in questa esperienza di guida, abbiamo incorporato un cicalino. Man mano che la tua auto si avvicina a un ostacolo, il ritmo del cicalino si intensifica, creando una sinfonia sonora di avvertimenti. È come avere un’orchestra personale che ti guida nelle manovre di parcheggio in retromarcia.

Questo progetto innovativo combina tecnologia all’avanguardia con un’interfaccia utente interattiva, rendendo la tua esperienza di retromarcia sicura e senza stress. Con il modulo ultrasonico, il display LCD e il cicalino che lavorano armoniosamente, ti sentirai sicuro e fiducioso mentre manovri in spazi ristretti, lasciandoti libero di concentrarti sul piacere di guidare.

Componenti Necessari

In questo progetto, avremo bisogno dei seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

ESP32 Scheda

ACQUISTA

Estensione Fotocamera ESP32

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

Modulo Ultrasonico

ACQUISTA

Cicalino (Buzzer)

-

Transistor

ACQUISTA

I2C LCD1602

ACQUISTA

Schema

../../_images/circuit_6.4_reversing_aid.png

Il sensore ultrasonico nel progetto emette onde sonore ad alta frequenza e misura il tempo necessario affinché le onde rimbalzino dopo aver colpito un oggetto. Analizzando questi dati, è possibile calcolare la distanza tra il sensore e l’oggetto. Per fornire un avviso quando l’oggetto è troppo vicino, viene utilizzato un cicalino per produrre un segnale acustico. Inoltre, la distanza misurata viene visualizzata su uno schermo LCD per una facile visualizzazione.

Collegamento

../../_images/6.4_aid_ultrasonic_bb.png

Codice

Nota

  • Puoi aprire direttamente il file 6.3_reversing_aid.ino nel percorso esp32-starter-kit-main\c\codes\6.3_reversing_aid.

  • Dopo aver selezionato la scheda (ESP32 Dev Module) e la porta appropriata, fai clic sul pulsante Upload.

  • La libreria LiquidCrystal I2C è utilizzata qui, puoi installarla dal Library Manager.

Dopo che il codice è stato caricato con successo, la distanza rilevata attualmente verrà visualizzata sul display LCD. Il cicalino cambierà quindi la frequenza del suono in base alle diverse distanze.

Nota

Se il codice e i collegamenti sono corretti, ma l’LCD non visualizza ancora alcun contenuto, puoi regolare il potenziometro sul retro per aumentare il contrasto.

Come funziona?

Questo codice ci aiuta a creare un semplice dispositivo di misurazione della distanza che può misurare la distanza tra oggetti e fornire un feedback tramite un display LCD e un cicalino.

La funzione loop() contiene la logica principale del programma e viene eseguita continuamente. Diamo un’occhiata più da vicino alla funzione loop().

  1. Ciclo per leggere la distanza e aggiornare i parametri

    Nel loop, il codice legge prima la distanza misurata dal modulo ultrasonico e aggiorna il parametro dell’intervallo in base alla distanza.

    // Aggiorna la distanza
    distance = readDistance();
    
    // Aggiorna gli intervalli in base alla distanza
    if (distance <= 10) {
        intervals = 300;
    } else if (distance <= 20) {
        intervals = 500;
    } else if (distance <= 50) {
        intervals = 1000;
    } else {
        intervals = 2000;
    }
    
  2. Verifica se è il momento di suonare il cicalino

    Il codice calcola la differenza tra l’ora corrente e l’ultima volta che il cicalino ha suonato e, se la differenza è maggiore o uguale al tempo dell’intervallo, attiva il cicalino e aggiorna l’ora precedente.

    unsigned long currentMillis = millis();
    if (currentMillis - previousMillis >= intervals) {
        Serial.println("Beeping!");
        beep();
        previousMillis = currentMillis;
    }
    
  3. Aggiorna il display LCD

    Il codice cancella il display LCD e poi visualizza «Dis:» e la distanza corrente in centimetri sulla prima riga.

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Dis: ");
    lcd.print(distance);
    lcd.print(" cm");
    
    delay(100);