Senzor ultrasonic cu RFID

Introducere

Idee de proiect Un asistent de parcare personalizat, activat si dezactivat doar prin apropierea unei cartele RFID, care combina:

* Control prin cartela “Cheie parcare”

  • Apropie-ti cartela pentru a debloca functiile de masurare si avertizare.
  • Apropie-ti din nou (sau foloseste o alta cartela) pentru a bloca modulul – senzorul si buzzer-ul intra in standby si economisesc energie.

* Profiluri si praguri de alerta

  • Fiecare cartela poate fi programata cu propriile praguri de alerta (de la 10 cm pana la 1 cm).
  • Ideal pentru familii sau utilizatori multipli: setari personalizate pentru fiecare sofer.

* Moduri de functionare

  • Normal: bar-graph pe LCD si bipuri proportionale cu apropierea de obstacol.
  • Silence: doar bar-graph , fara semnale sonore.

* Extensii viitoare

  • Log de distante: stocarea ultimelor 10 masuratori in EEPROM si export catre PC.
  • Interfata seriala avansata: transmiterea profilului curent si a istoricului de distante catre o aplicatie desktop.

*Buzzer-ul si senzorul de distanta functioneaza exclusiv atunci cand sistemul este deblocat cu cartela RFID.*

Descriere generala

Lista scurta a modulelor si interfetelor:

* HC-SR04 (PD6 TRIG, PD5 ECHO – Timer1 Input Capture): masoara distanta cu ultrasunete (∼15 mA).

* LCD I²C 16×2 (blue backlight) (PC4/A4 SDA, PC5/A5 SCL – I²C @ 100 kHz, 5 V, ∼5 mA backlight): afiseaza mesaje text si distanta.

* Buzzer pasiv (OC0A → PD6, PWM @ 2 kHz): semnalizare sonora (≤10 mA).

* RFID-RC522 (SPI bus + CS PC4, RST PC5): citeste tag-uri (SPI @ ≤10 MHz, 30–50 mA @ 3.3 V).

Hardware Design

Lista de piese:

  • HC-SR04 ultrasonic sensor
  • LCD I²C 16×2 (blue backlight)
  • Buzzer pasiv (alerte sonore de proximitate)
  • RFID-RC522 reader module

Schema electrica:

Bill of Materials

Detalii Pinout

1. HC-SR04 Ultrasonic Rangefinder

 1.1. **VCC** → **5 V** pe Arduino Uno (alimentare modul)  
 1.2. **GND** → **GND** pe Arduino Uno (masă comună)  
 1.3. **TRIG** → **D2 (PD2)** pe Arduino Uno (pin digital 2)  
 1.4. **ECHO** → **D3 (PD3)** pe Arduino Uno (pin digital 3)  

2. LCD I²C 16×2 (Blue Backlight)

 2.1. **GND** → **GND** pe Arduino Uno
 2.2. **VCC** → **5 V** pe Arduino Uno
 2.3. **SDA** → **PC4 (Analog 4 / A4)** pe Arduino Uno
 2.4. **SCL** → **PC5 (Analog 5 / A5)** pe Arduino Uno

3. Buzzer Pasiv

 3.1. **+** → **D5 (PD5)** pe Arduino Uno (pin PWM pentru tonuri)
 3.2. **–** → **GND** pe Arduino Uno

4. RFID-RC522

 4.1. **3.3 V**   → **3.3 V** pe Arduino Uno (alimentare RFID)
 4.2. **GND**    → **GND** pe Arduino Uno
 4.3. **MOSI**   → **D11 (PB3)** pe Arduino Uno (Master-Out Slave-In SPI)
 4.4. **MISO**   → **D12 (PB4)** pe Arduino Uno (Master-In Slave-Out SPI)
 4.5. **SCK**    → **D13 (PB5)** pe Arduino Uno (SPI Clock)
 4.6. **SDA/SS** → **D10 (PB2)** pe Arduino Uno (Chip-Select pentru RFID)
 4.7. **RST**    → **D9  (PB1)** pe Arduino Uno (Reset extern RFID)

Software Design

Mediu de dezvoltare si librarii: - Arduino IDE - Biblioteci utilizate:

  1. SPI.h (bus SPI hardware pentru RFID)
  2. MFRC522.h (cititor RFID MFRC522)
  3. Wire.h (I²C bus pentru LCD)
  4. LiquidCrystal_I2C.h (driver pentru LCD I²C 16×2)

Structura firmware:

1. HC-SR04 – Timer & Input-Capture

  • Generare puls de trigger (CTC)
  • Masurare echo si calcul distanta

2. I²C LCD 16×2

  • Initializare LiquidCrystal_I2C (0x27, 16×2)
  • Afisare text sincron cu Serial Monitor

3. PWM Buzzer

  • Tonuri non-blocante (tone()) pentru acces garantat/blocat
  • analogWrite() pentru volum proportional cu distanta

4. Serial UART

  • Transmitere mesaje de stare si distanta la 9600 baud

5. RFID-RC522

  • Initializare SPI si RFID-RC522
  • Detectare si toggle acces la scanare card

Rezultate Obtinute

Stare actuala proiect(18 mai):

Concluzii

* Am demonstrat cu succes integrarea senzorului HC-SR04, a modulului RFID MFRC522, a display-ului LCD I²C 16×2 si a buzzer-ului pasiv intr-un sistem unificat de asistenta la parcare.

* Logica de comutare „acces garantat”/„acces blocat” prin scanarea cardului RFID functioneaza stabil, iar masurarea distantei si semnalizarea sonora PWM au fost validate atat pe ecranul LCD, cat si in Serial Monitor.

* Afisarea textului pe LCD I²C (16×2) s-a realizat prin `LiquidCrystal_I2C`, cu mesaje clare (negru pe albastru), iar valoarea distantei apare in timp real.

* Software-ul este complet: toate modulele majore (HC-SR04 cu timer CTC, HC-SR04 input-capture, RFID pe SPI, buzzer PWM, I²C LCD si UART) si protocoalele de autentificare sunt implementate si testate.

* Extensii viitoare posibile:

  • profiluri personalizate stocate in EEPROM pentru diferiti utilizatori,
  • stocare si descarcare a istoricului de distante prin serial/USB,
  • adaugarea unui senzor de lumina ambientala pentru backlight adaptiv,
  • migrarea pe o placa cu Wi-Fi pentru monitorizare remote.

* Proiectul combina cu succes notiuni teoretice (timer CTC, SPI, I²C, PWM) cu practica Arduino (debugging, optimizare, design hardware), oferind o platforma solida pentru viitoare aplicatii embedded.

Laboratoare Folosite

1. Laboratorul 1 – USART & Debugging

  • S-a utilizat interfata seriala UART la 9 600 baud pentru transmiterea in timp real a mesajelor de stare (“acces blocat/ permis”) si a valorilor de distanta masurate de HC-SR04 in Serial Monitor.

2. Laboratorul 2 – Intreruperi & Timere

  • Timer1 in modul CTC pentru generarea precisa a pulsatiei de TRIG (10 µs) a senzorului HC-SR04.
  • Functia Input Capture a Timer1 pentru masurarea duratei semnalului ECHO si calculul distantei.

3. Laboratorul 3 – Timere & PWM

  • Output-Compare OC2A (Timer2) pentru reglarea Fast-PWM a back-light-ului LCD (\~976 Hz).
  • Output-Compare OC0A (Timer0) pentru generarea tonurilor de avertizare pe buzzer (\~2 kHz).

4. Laboratorul 5 – SPI (Serial Peripheral Interface)

  • Magistrala SPI hardware (MOSI/MISO/SCK + CS/RST) pentru comunicarea cu modulul RFID MFRC522 la pana la 10 MHz.

Jurnal

* 2025-05-16 – Am adaugat sectiunea Bill of Materials intre Hardware Design si Software Design.

* 2025-05-16 – Am inserat sectiunea Functionalitate Hardware cu descriere succinta a modulelor si interfetelor.

* 2025-05-16 – Am completat sectiunea Detalii Pinout cu explicatii pin-by-pin.

* 2025-05-24 – Am integrat si testat controlul Buzzer pasiv cu semnale PWM si tonuri non-blocante, precum si logica de mapare discreta a volumului pe intervale de 1 cm.

* 2025-05-25 – Am adaugat functionalitatea de toggle acces prin scanare RFID cu asteptare la indepartarea cardului si afisarea mesajelor pe LCD I²C 16×2.

* Stadiu software – Aproximativ 100% gata: toate modulele (HC-SR04, RFID, I²C LCD, buzzer PWM, UART) si logica principala sunt implementate si testate.

Bibliografie/Resurse

Resurse Software

Resurse Hardware

*HC-SR04 Ultrasonic Sensor Datasheet

* NXP RFID-RC522 Datasheet

Inspiratie video

Demonstrație YouTube – Asistent parcare ultrasonic cu RFID – Sursă de inspiratie pentru integrarea anumitor module(RFID) și configurarea interfetei LCD I²C.

pm/prj2025/avaduva/ionut_andrei.rusu.txt · Last modified: 2025/05/28 15:37 by ionut_andrei.rusu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0