This is an old revision of the document!
Sniffer și Transmitator de Coduri IR folosind ESP32
Introducere
Proiectul “IR Sniffer cu Transmitere” este un dispozitiv construit în jurul plăcii ESP32, capabil să intercepteze semnale IR provenite de la telecomenzi, să le afişeze pe un ecran LCD și să le stocheze pentru utilizări ulterioare. Utilizatorul poate naviga între codurile salvate folosind butoane și le poate retransmite folosind un LED infraroșu. Dispozitivul este portabil, fiind alimentat din baterii, și oferă un exemplu solid de integrare a funcțiilor de captare semnal, afișare, memorie persistentă și acțiune controlată manual. Proiectul acoperă utilizarea întreruperilor, comunicației I2C, scrierea în flash și procesarea semnalelor.
Descriere generală
Sistemul se bazează pe placa ESP32, care gestionează captarea semnalelor IR, memorarea acestora în flash și transmiterea lor ulterioară. Informațiile sunt afișate pe un LCD 1602 cu interfață I2C. Trei butoane sunt utilizate pentru salvarea unui cod nou, schimbarea codului selectat și transmiterea codului selectat. LED-ul IR este folosit pentru transmitere, iar senzorul CHQ1838 pentru recepție. Alimentarea se face fie prin USB, fie prin 4 baterii AA, conectate pe pinul de 5V.
Hardware Design
🔹 Componente utilizate:
ESP32 DevKit
LCD 1602 cu interfață I2C (0x27)
Receptor IR CHQ1838
LED IR 5mm, 940nm
Rezistor 220Ω (pentru LED)
3 butoane tactile 6x6mm (pentru SAVE, SCROLL, SEND)
Rezistori 4.7kΩ pentru pull-down
Breadboard HQ (400 puncte)
Fire jumper Mamă-Mamă și Mamă-Tată
Suport 4xR6 (AA)
🔹 Conexiuni:
GPIO 35 → Receptor IR
GPIO 32 → LED IR prin rezistor
GPIO 34 → Buton SEND
GPIO 33 → Buton SCROLL
GPIO 25 → Buton DELETE
GPIO 21, 22 → LCD I2C (SDA, SCL)
Software Design
🔹 Mediu de dezvoltare:
🔹 Biblioteci utilizate:
IRremoteESP8266 – pentru recepție și transmitere coduri IR
LiquidCrystal_I2C – pentru afișajul LCD
Preferences – pentru stocare coduri (opțional)
🔹 Funcționalități implementate:
Recepție cod IR și afișare protocol + cod HEX pe LCD
Verificare cod duplicat înainte de salvare
Navigare între coduri prin scroll
Retransmitere coduri salvate
Ștergere totală coduri
Afișare stare și index curent pe LCD
Exemplu logică afișare cod:
- Protocol: NEC
- Cod HEX: e01fbf40
- Pe LCD: `NEC e01fbf40` (rând 1), `Cod 5/5` (rând 2)
Rezultate obținute
Dispozitivul a interceptat cu succes semnale IR de la diverse telecomenzi (TV, aer condiționat), afișând codurile corect pe LCD. Navigarea între coduri a funcționat stabil, iar transmiterea a fost realizată cu succes prin LED-ul IR. Codurile salvate nu s-au pierdut în timpul rulării și au fost vizibile corect. Sistemul a funcționat stabil atât pe USB cât și pe alimentare cu baterii AA. Interfața a fost clară și intuitivă.
Download
Fişierele proiectului includ:
Cod sursă (`ir_sniffer.ino`)
Schema conexiuni (PNG și Fritzing)
README explicativ
Set coduri test IR (dacă este cazul)
Namespace recomandat pentru fişiere: :pm:prj2025:ac:galeseanu_razvan
Jurnal
🗓 10.05.2025 – Testare receptor CHQ1838 cu diverse telecomenzi
🗓 11.05.2025 – Implementare scroll și trimitere coduri
🗓 12.05.2025 – Integrare funcție ștergere + test general
🗓 13.05.2025 – Finalizare proiect și validare funcționalități
Bibliografie / Resurse