This is an old revision of the document!


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 MFRC522 RFID Reader 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.1748435811.txt.gz · Last modified: 2025/05/28 15:36 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