Tutoriale ESP32 19/55 - Rilevamento ostacolo utilizzando il sensore infrarosso | Kit di apprendimento IoT ESP32 di SunFounder

Tutoriale ESP32 19/55 - Rilevamento ostacolo utilizzando il sensore infrarosso | Kit di apprendimento IoT ESP32 di SunFounder

In questo tutorial, impareremo come utilizzare un sensore a infrarossi per l'evitamento degli ostacoli con il modulo ESP32 per rilevare ostacoli. Questo progetto dimostrerà come il sensore possa attivare un buzzer quando viene rilevato un ostacolo. Il setup mostrerà anche lo stato di rilevamento sul monitor seriale, fornendo un modo chiaro e interattivo per osservare la funzionalità del sensore.

Lavoreremo con il SunFounder ESP32 IoT Learning Kit, che include il microcontrollore ESP32 dotato di funzionalità Wi-Fi e Bluetooth. Il sensore infrarosso funziona emettendo luce infrarossa, che sarà riflessa da ostacoli vicini. Quando la luce viene riflessa, il sensore attiverà un segnale di output che leggeremo nel nostro codice. Includeremo anche un cicalino che si attiva quando viene rilevato un ostacolo, fornendo un avviso acustico.

Hardware spiegato

I componenti principali di questo progetto includono il modulo ESP32, il sensore di evitamento ostacoli a infrarossi e un buzzer. Il modulo ESP32 funge da unità centrale di elaborazione, gestendo gli input dei sensori e controllando gli output. Può essere alimentato utilizzando una batteria al litio, rendendolo portatile e flessibile per varie applicazioni.

Il sensore a infrarossi per l'evitamento degli ostacoli è composto da un trasmettitore e un ricevitore. Il trasmettitore emette luce infrarossa, mentre il ricevitore rileva la luce riflessa da oggetti vicini. Quando è presente un ostacolo, il pin di uscita del sensore si abbassa, segnalando all'ESP32 di intraprendere un'azione, come accendere il buzzer.

Dettagli del Foglio Dati

ProduttoreSunFounder
Numero parteSensore ad Infrarossi per Evitare gli Ostacoli
Tensione di funzionamento3,3 V - 5 V
Tipo di outputDigitale (Basso quando viene rilevato un ostacolo)
Gamma di rilevamentoFino a 20 cm
Tempo di RispostaMeno di 10 ms
PacchettoModulo

  • Alimentazione: da 3,3 V a 5 V per il funzionamento.
  • Il segnale di output diventa basso quando viene rilevato un ostacolo.
  • Sensibilità regolabile tramite potenziometro.
  • La distanza di rilevamento tipica è fino a 20 cm.
  • Tempo di risposta rapido di meno di 10 ms.

Istruzioni per il cablaggio

ESP32-19-obstacle_voide-wiring

Per collegare il sensore di rilevamento ostacoli infrarossi all'ESP32, inizia collegando il pin VCC del sensore al pin 5V sull'ESP32. Successivamente, collega il pin GND del sensore a uno dei pin GND sull'ESP32. Infine, collega il pin OUT del sensore al pin GPIO 14 sull'ESP32.

Per il buzzer, collegare il terminale negativo a GND e il terminale positivo al pin GPIO 27. Assicurarsi che tutte le connessioni siano sicure e che il sensore sia alimentato correttamente. Il cablaggio dovrebbe essere semplice, poiché il sensore e il buzzer richiedono solo connessioni di alimentazione e segnale semplici.

Esempi di codice e guida passo-passo

Nel codice, prima definiamo il pin collegato al sensore di evitamento degli ostacoli. Questo viene fatto usando l'identificatoreavoidPinimpostato a 14. Dichiaramo anche una variabileavoidStateper tenere lo stato di uscita del sensore.

const int avoidPin = 14;  // the number of the avoid module pin

int avoidState = 0;

Nella funzione di setup, inizializziamo la comunicazione seriale e impostiamo ilavoidPincome input. Questo consente all'ESP32 di leggere lo stato di uscita del sensore.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

All'interno della funzione loop, leggiamo continuamente l'uscita del sensore utilizzandodigitalRead(avoidPin)e memorizza il risultato inavoidStateQuesto valore viene quindi stampato sul monitor seriale, permettendoci di vedere quando viene rilevato un ostacolo (l'output sarà 0) o meno (l'output sarà 1).

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Per il codice completo, si prega di fare riferimento alla sezione di caricamento sotto l'articolo.

Dimostrazione / Cosa Aspettarsi

Quando la configurazione è completa e il codice è caricato, dovresti vedere il monitor seriale che visualizza un 0 o un 1 a seconda che venga rilevato un ostacolo. Quando un ostacolo è entro il raggio di rilevamento, l'uscita mostrerà 0 e il buzzer suonerà. Se l'ostacolo viene rimosso, l'uscita mostrerà 1 e il buzzer si fermerà. Questa funzionalità è dimostrata nel video (nel video alle 12:30).

I problemi comuni possono includere cablaggi errati, che potrebbero portare il sensore a non funzionare correttamente, o tassi di baud non corrispondenti nel monitor seriale, impedendo la visualizzazione accurata dei dati. Assicurati di controllare questi aspetti se incontri problemi.

Timestamp dei video

  • 00:00 Inizio
  • 1:57 Introduzione al progetto
  • 4:33 Cablaggio per l'evitamento degli ostacoli
  • 5:55 Codice Arduino per l'evitamento degli ostacoli
  • 7:36 Selezione della scheda ESP32 e della porta COM su Arduino IDE
  • 9:18 Dimostrazione del progetto
  • 10:42 Regolazione dell'intervallo di aumento della sensibilità
  • 12:39 Agire quando viene rilevato un ostacolo
  • 14:24 Utilizzo di un segnale acustico quando viene rilevato un ostacolo

Immagini

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Lingua: C++
Copia!

Risorse e riferimenti

File📁

Nessun file disponibile.