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+

3 in 1 Starter Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

Scheda SunFounder R3

ACQUISTA

Breadboard

ACQUISTA

Cavi di Collegamento

ACQUISTA

Resistore

ACQUISTA

LED

ACQUISTA

Cicalino

ACQUISTA

I2C LCD1602

ACQUISTA

Modulo Ultrasonico

ACQUISTA

Schema elettrico

../_images/image265.png

Collegamenti

../_images/backcar.png

Codice

Nota

  • Puoi aprire il file 6.4_reversingAid.ino nel percorso 3in1-kit\basic_project\6.4_reversingAid direttamente.

  • Oppure copia questo codice nell’Arduino IDE.

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

    ../_images/lib_liquidcrystal_i2c.png

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().

  1. 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;
    }
    
  2. 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;
    }
    
  3. 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);