Tutoriale ESP32 29/55 - Lettura della pressione del tasto del telecomando IR con ESP32 | Kit di apprendimento IoT ESP32 di SunFounder

Tutoriale ESP32 29/55 - Lettura della pressione del tasto del telecomando IR con ESP32 | Kit di apprendimento IoT ESP32 di SunFounder

In questo tutorial, impareremo come rilevare segnali infrarossi (IR) utilizzando il modulo ESP32 e un ricevitore IR compatibile. Quando premiamo un pulsante sul telecomando, l'ESP32 riconoscerà il segnale ed eseguirà azioni specifiche, come far suonare un buzzer per determinati tasti. Questo progetto è ideale per coloro che cercano di integrare capacità di controllo remoto nelle loro applicazioni ESP32 (nel video al :15).

remoto

L'ESP32 è un potente microcontrollore che combina capacità Wi-Fi e Bluetooth, rendendolo adatto a un'ampia gamma di applicazioni IoT. In questo progetto, utilizzeremo un ricevitore IR per interpretare i segnali di un telecomando. I tasti premuti verranno elaborati nel codice, permettendoci di intraprendere azioni in base ai comandi ricevuti.

Hardware Spiegato

I componenti principali per questo progetto includono il microcontrollore ESP32, un modulo ricevitore IR e un buzzer. L'ESP32 funge da cervello dell'operazione, elaborando i segnali ricevuti dal ricevitore IR. Il ricevitore IR rileva i segnali infrarossi dal telecomando e li converte in segnali elettrici che l'ESP32 può comprendere.

ir_receiver_sl838

Il ricevitore IR ha tipicamente tre pin: VCC (alimentazione), GND (terra) e OUT (segnale). Il pin VCC è collegato a una fonte di alimentazione (3,3V o 5V), mentre il GND è collegato alla terra. Il pin OUT invia il segnale decodificato all'ESP32, che può quindi essere utilizzato per attivare varie azioni, come attivare un buzzer quando viene premuto un tasto specifico.

Dettagli del foglio dati

Produttore Affilato
Numero di parte GP1UXC41
Tensione logica/IO 3,3 - 5,0 V
Tensione di alimentazione 3,3 V (tip.)
Corrente di uscita (per canale) 20 mA (max)
Corrente di picco (per canale) 50 mA (max)
Guida sulla frequenza PWM 38 kHz
Soglie logiche di ingresso 0.3 Vcc (alto), 0.2 Vcc (basso)
Caduta di tensione / RDS(on)saturazione 0,5 V (max)
Limiti termici 85 °C (max)
Pacchetto TO-92
Note / varianti Disponibile in molteplici configurazioni

  • Assicurati di fornire un'alimentazione corretta per evitare danni.
  • Utilizza cavi corti per ridurre al minimo l'interferenza del segnale.
  • Controlla l'orientamento del ricevitore IR prima di collegarlo.
  • Conferma che la batteria del telecomando è funzionante.
  • Utilizzare resistori di pull-up se necessario per la stabilità.

Istruzioni per il cablaggio

ESP32-29-IR-remote-wiring

Per collegare il ricevitore IR all'ESP32, inizia identificando i tre pin sul ricevitore IR: VCC, GND e OUT. Collega il pin VCC a una fonte di alimentazione di 3,3 V sull'ESP32. Successivamente, collega il pin GND a uno dei pin di massa (GND) sull'ESP32. Infine, collega il pin OUT al pin GPIO 14 sull'ESP32, che è designato per il ricevitore IR nel codice.

ESP32-29-IR-telecomando-schema

Una volta effettuate le connessioni, assicurati che il cablaggio sia sicuro. Se stai utilizzando una breadboard, inserisci il ricevitore IR in modo che il lato piatto sia rivolto verso di te e il rialzo sia dall'altra parte. Questa orientazione ti aiuterà a identificare correttamente i pin. Assicurati di verificare le connessioni prima di accendere l'ESP32.

Esempi di codice e guida passo passo

IR_receiver_lib

installa ilIRremoteESP8266library di David Conran, Sebastien.

Nel codice, definiamo il pin del ricevitore IR utilizzando la costanteIR_RECEIVE_PIN, che è impostato su 14. Creiamo anche un'istanza diIRrecvper gestire i segnali IR.

const uint16_t IR_RECEIVE_PIN = 14;
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;

Questo setup ci consente di ricevere segnali dal telecomando IR. Nelsetup()funzione, iniziamo la comunicazione seriale e abilitiamo il ricevitore IR.

void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();
}

Dentro illoop()funzione, controlliamo se è stato ricevuto un segnale IR. In tal caso, decodifichiamo il valore del tasto e lo stampiamo sul monitor seriale.

if (irrecv.decode(&results)) {
    String key = decodeKeyValue(results.value);
    Serial.println(key);
    irrecv.resume(); 
}

Questo frammento di codice mostra come decodifichiamo il segnale ricevuto e stampiamo il valore corrispondente della chiave sul monitor seriale. IldecodeKeyValue()La funzione mappa il segnale ricevuto a valori specifici dei pulsanti, come "0", "1", "EQ" e altri. Puoi trovare il codice completo caricato sotto l'articolo.

Dimostrazione / Cosa Aspettarsi

Una volta completato il cablaggio e caricato il codice, premere un pulsante sul telecomando dovrebbe visualizzare il valore corrispondente sul monitor seriale. Ad esempio, premere il pulsante "2" stamperà "2" sul monitor. Se il tasto non viene riconosciuto, restituirà "ERROR". Il buzzer suonerà quando viene premuto il tasto designato (ad es. "EQ"), fornendo un feedback immediato.

Fai attenzione ai comuni tranelli, come la polarità invertita nelle tue connessioni o l'uso di livelli di tensione errati. Assicurati che il telecomando funzioni correttamente e abbia una batteria funzionante prima di testare il tuo impianto (nel video alle 15:30).

Timestamp video

  • 00:00 Inizio
  • 2:05 Introduzione al ricevitore IR
  • 4:24 Spiegazione cablaggio
  • 6:08 Codice Arduino per ricevitore IR spiegato
  • 10:06 Selezionando la scheda ESP32 e la porta COM nell'IDE di Arduino
  • 11:48 Dimostrazione del progetto
  • 13:09 Buzzer attivo collegato direttamente all'ESP32
  • 14:40 intraprendere un'azione quando viene premuto un tasto
  • 15:30 Codice Arduino per intraprendere azioni
  • 16:54 Dimostrazione di pressione dei tasti e suono del buzzer

Immagini

IR_receiver_lib
IR_receiver_lib
ir_receiver_sl838
ir_receiver_sl838
remote
remote
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-wiring
ESP32-29-IR-remote-wiring
830-ESP32 Tutorial 29/55- Arduino code for fading Infrared remote
Lingua: C++
Copia!

Cose di cui potresti avere bisogno

Risorse e riferimenti

File📁

Scheda tecnica (pdf)