Tutorial ESP32 21/55 - Rilevamento di esseri umani con sensore di movimento PIR | Kit di apprendimento IoT ESP32 di SunFounder

Tutorial ESP32 21/55 - Rilevamento di esseri umani con sensore di movimento PIR | Kit di apprendimento IoT ESP32 di SunFounder

In questo tutorial, impareremo a utilizzare un sensore di movimento PIR con l'ESP32 per rilevare la presenza umana. L'ESP32 è un microcontrollore potente che offre sia funzionalità Wi-Fi che Bluetooth, rendendolo ideale per progetti IoT. Integrando un sensore PIR, possiamo costruire un sistema che attiva un LED o un buzzer ogni volta che viene rilevato un movimento, fornendo un modo semplice ma efficace per monitorare l'attività umana.

SENSORE PIR RE 200B

Il sensore PIR (Passive Infrared) rileva il movimento percependo la radiazione infrarossa emessa da oggetti, in particolare da quelli a temperatura corporea calda come gli esseri umani. Quando viene rilevato un movimento, il sensore invia un segnale all'ESP32, che può quindi attivare un'uscita, come accendere un LED o far suonare un buzzer. Questo tutorial ti guiderà attraverso la configurazione hardware, il cablaggio e il codice necessari per far funzionare correttamente il sistema (nel video al 00:45).

ESP32-21_sensore_di_movimento-schema

Hardware spiegato

Questo progetto coinvolge diversi componenti chiave. Il microcontrollore ESP32 funge da cervello dell'operazione, gestendo i dati dei sensori e controllando le uscite. Il sensore di movimento PIR rileva il movimento misurando le variazioni nella radiazione infrarossa. Il LED o il buzzer forniscono un avviso visivo o uditivo quando viene rilevato un movimento.

L'ESP32 è dotato di Wi-Fi e Bluetooth, consentendo funzionalità estese come la connettività cloud. Il sensore PIR contiene una lente che concentra la luce infrarossa su un sensore piezoelettrico, che genera un segnale di tensione quando rileva cambiamenti nei livelli infrarossi, indicando movimento.

Dettagli della scheda tecnica

Produttore SunFounder
Numero parte Modulo Sensore PIR
Tensione logica/IO 3,3 V
Tensione di alimentazione 3,3 V
Corrente di uscita (per canale) 20 mA max
Corrente di picco (per canale) 50 mA massimo
Linee guida sulla frequenza PWM N/A
Soglie logiche di ingresso 0,3 V (basso), 2,0 V (alto)
Caduta di tensione / RDS(on)/ saturazione N/A
Limiti termici 0 a 70 °C
Pacchetto Modulo
Note / varianti Sensibilità e ritardo regolabili

  • Assicurati di fornire un'alimentazione adeguata (3,3 V) per evitare danni.
  • Usa una resistenza per il LED per limitare la corrente.
  • Mantenere un cablaggio adeguato per prevenire cortocircuiti.
  • Regola le manopole del sensore PIR per la sensibilità e il ritardo secondo necessità.
  • Testa il sensore in ambienti diversi per prestazioni ottimali.

Istruzioni di cablaggio

ESP32-21_motion_sensor-wiring

Per collegare il sensore di movimento PIR e il LED all'ESP32, inizia collegando il pin VCC del sensore PIR all'uscita di 3,3 V sull'ESP32. Successivamente, collega il pin di massa del sensore PIR a un pin di massa sull'ESP32. Il pin del segnale (spesso etichettato comeS) dal sensore PIR dovrebbe essere collegato al pin GPIO 14 sull'ESP32.

Per il LED, collega il piede più lungo (anodo) al pin GPIO 26 tramite una resistenza da 220 Ohm, e collega il piede più corto (catodo) a terra. Assicurati che tutte le connessioni siano sicure per garantire un funzionamento corretto. Se utilizzi un buzzer invece di un LED, collega un pin del buzzer al pin GPIO 26 e l'altro a terra, sostituendo l'impianto del LED.

Esempi di codice e guida passo passo

Nel codice, definiamo i numeri dei pin per il sensore PIR e il LED. Utilizziamoconst int pirPin = 14;impostare il pin PIR econst int ledPin = 26;per il pin LED. Queste costanti garantiscono che i numeri dei pin rimangano invariati durante l'esecuzione del programma.

const int pirPin = 14;  // the number of the pir pin
const int ledPin = 26;     // LED pin

Questo frammento inizializza i pin che utilizzeremo. Nelsetup()funzione, configuriamo il pin PIR come ingresso e il pin LED come uscita. Questa configurazione è fondamentale per leggere lo stato del sensore e controllare il LED.

void setup() {
  Serial.begin(115200);  
  pinMode(pirPin, INPUT);  // initialize the pir pin as an input
  pinMode(ledPin, OUTPUT);  // initialize the LED pin as an output
}

Nellaloop()funzione, leggiamo continuamente lo stato del sensore PIR utilizzandodigitalRead(pirPin);. Se il sensore rileva movimento (indicato da uno stato HIGH), accendiamo il LED utilizzandodigitalWrite(ledPin, HIGH);Altrimenti, spegniamo il LED.

if (pirState == HIGH) {
    digitalWrite(ledPin, HIGH);  // turn LED on
} else {
    digitalWrite(ledPin, LOW);    // turn LED off
}

Questa logica permette al LED di rispondere ai movimenti rilevati dal sensore PIR. Assicurati di caricare il codice completo fornito sotto l'articolo per una funzionalità completa.

Dimostrazione / Cosa Aspettarsi

Una volta che tutto è configurato e il codice è caricato, il LED si accenderà quando viene rilevato movimento dal sensore PIR. Puoi testare il sensore muovendoti di fronte ad esso; il LED dovrebbe accendersi immediatamente. Se il sensore è impostato su un ritardo, rimarrà acceso per il tempo specificato prima di spegnersi di nuovo (nel video alle 12:15).

I comuni errori includono un cablaggio errato, che può impedire al sensore di funzionare. Assicurati che il sensore PIR sia correttamente alimentato e che il pin del segnale sia collegato al pin GPIO corretto sull'ESP32. Regolare i controlli di sensibilità e ritardo sul sensore PIR può anche aiutare a ottimizzare le prestazioni in base all'ambiente.

Timestamp video

  • 00:00 Inizio
  • 1:54 Introduzione al sensore PIR
  • 6:38 Spiegazione del cablaggio
  • 10:21 Spiegazione del codice Arduino
  • 12:45 Selezionando la scheda ESP32 e la porta COM nell'IDE Arduino
  • 14:27 Dimostrazione e calibrazione del sensore PIR

Immagini

ESP32-21_motion_sensor-wiring
ESP32-21_motion_sensor-wiring
PIR SENSOR RE 200B
PIR SENSOR RE 200B
ESP32-21_motion_sensor-schematic
ESP32-21_motion_sensor-schematic
820-ESP32 Tutorial 21/55- Arduino code for motion sensor
Lingua: C++
Copia!

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

Scheda tecnica (pdf)

Altri file