Interfon inteligent

Introducere

  • Scurtă descriere:

Mi-am propus să realizez un interfon wireless destinat utilizării între oaspete și gazdă. Sistemul funcționează în felul următor: atunci când un vizitator apasă butonul de apel, unitatea oaspetelui trimite un mesaj prin modulul radio HC-12 către unitatea gazdei. Gazda este notificată prin semnale sonore (buzzer) și vizuale (LED), iar un afișaj LCD îi arată mesajul „Oaspete la intrare”.

Proiectul este complet autonom, nu are nevoie de Wi-Fi sau Internet, și este ideal pentru locații izolate, blocuri, curți, cabane sau intrări în clădiri unde nu există infrastructură digitală. Comunicarea wireless pe distanță mare asigură flexibilitate și ușurință în instalare.

  • Ideea de la care am pornit:

Inspirația inițială a fost un proiect simplu de alarmă cu LED și notificare serială prin UART. Am dorit să merg mai departe și să construiesc o soluție completă de control al accesului la distanță, adăugând un ecran LCD pentru feedback vizual și o comunicare bidirecțională prin radio între două plăci Arduino – simulând astfel un interfon funcțional și inteligent pentru vizitatori și gazdă.

  • Utilitate:

Proiectul este util din două perspective:

  1. educațională: pentru că integrează mai multe tehnologii: comunicație serială, wireless, interfețe I2C și H2C, semnale digitale și timer-e;
  2. practică – oferind o metodă reală de a semnala prezența unui vizitator și de a loga interacțiunea, fără infrastructură complicată. Este util în locuri în care controlul accesului este important, dar nu există internet sau buget pentru sisteme complexe.

Descriere generală

Diagrama bloc:

Dispozitivul are următoarele module:

  • Modulul Oaspete:
  1. Arduino UNO – controlează toate acțiunile de pe partea oaspetelui.
  2. Call Button – buton ce permite vizitatorului să trimită o solicitare de acces către gazdă.
  3. LED-uri – oferă feedback vizual: se aprinde verde dacă este acceptat și roșu dacă este respins. Atunci când oaspetele apasă butonul pentru a solicita accesul, LED-ul luminează roșu intermitent pentru a arăta că gazda este notificată și se așteaptă răspunsul ei.
  4. Modul HC-12 – trimite și primește mesaje wireless către/de la gazdă, prin interfață serială (UART).
  • Modulul Gazdă:
  1. Arduino UNO – controlează toate acțiunile de pe partea gazdei.
  2. Accept Button – permite gazdei să accepte apelul oaspetelui.
  3. Reject Button – permite gazdei să respingă apelul oaspetelui.
  4. LCD – afișează mesajele („Oaspete la intrare”, „Acces permis”, „Acces respins”).
  5. Buzzer – oferă avertizare sonoră atunci când vine un apel.
  6. Modul HC-12 – comunică bidirecțional cu modulul oaspetelui prin UART.

Interacțiuni între module:

  • Când oaspetele apasă Call Button, Arduino-ul din Guest Unit trimite prin HC-12 mesajul „APEL”.
  • Gazda primește mesajul prin HC-12 și declanșează avertizarea sonoră (buzzer), aprinde LED-ul și afișează mesajul pe LCD.
  • Gazda apasă Accept sau Reject:
    • Dacă apasă Accept → se trimite mesaj de confirmare către oaspete, LED-ul din Guest Unit se aprinde verde pentru 4 secunde (semn că i se permite accesul oasepetelui).
    • Dacă apasă Reject → se trimite mesaj de refuz, LED-ul din Guest Unit se aprinde roșu (semn că i s-a refuzat accesul oasepetelui).
  • Toate interacțiunile dintre cele două unități se fac prin comunicație wireless UART (HC-12).

Hardware Design

Lista de piese:

Nr. Componentă Descriere Link / Datasheet
1 Arduino Uno Microcontroller pentru controlul sistemului Arduino UNO
2 Buton push (x3) Pentru apel (oaspete) și confirmare/respingere (gazdă) Buton Push
3 Rezistor 10kΩ (x2) Pull-down pentru butoane
4 LED 5mm (x2) Semnal vizual (apel / confirmare)
5 Rezistor 220Ω (x2) Limitare curent pentru LED-uri
6 Buzzer pasiv Semnal sonor pentru apel Buzzer
7 LCD 16×2 cu I2C (x2) Afișare mesaje pe interfon LCD I2C
8 Modul wireless HC-12 (x2) Comunicație radio între oaspete și gazdă Modul wireless HC-12
9 Antenă HC-12 (x2) Inclusă în modulul HC-12
12 Breadboard (x2) Conectare prototipuri Breadboard
13 Fire jumper Conectare între module
14 Cablu USB (x2) Programare + alimentare Arduino
15 Carcase plastic Protecție

Schema electrică:

Tabel conexiuni – GAZDĂ:

Componentă Pin Arduino UNO Funcție
Buton Accept D2 Declanșare răspuns pozitiv (Interrupt)
Buton Reject D3 Declanșare răspuns negativ (Interrupt)
Buzzer D4 Semnal sonor la apel
LED gazdă D5 Semnal vizual local
LCD (I2C) A4 (SDA), A5 (SCL) Afișaj mesaje pe ecran
Modul HC-12 D6 (TX), D7 (RX) Comunicație wireless UART cu oaspetele

Tabel conexiuni – OASPETE:

Componentă Pin Arduino UNO Funcție
Buton Call D2 Inițiere apel către gazdă
LED Verde/Roșu D3 Feedback primire/respingere
Modul HC-12 D6 (TX), D7 (RX) Comunicație wireless UART cu gazda

Software Design

Mediu de dezvoltare

Arduino IDE

→ Platformă de dezvoltare compatibilă cu Arduino UNO (ATmega328P)


Librării și surse 3rd-party

LiquidCrystal_I2C.h — pentru afișajul LCD prin magistrala I2C

SoftwareSerial.h — pentru comunicarea serială cu modulul HC-12

TimerOne.h — pentru utilizarea unui timer hardware dedicat (la oaspete)

→ Toate librăriile sunt disponibile în Arduino Library Manager. LiquidCrystal_I2C și SoftwareSerial sunt frecvent utilizate în proiectele Arduino. TimerOne necesită instalare externă (dacă nu este deja prezentă).


Algoritmi și structuri implementate

  • Oaspetele trimite un mesaj “APEL” prin HC-12 atunci când este apăsat butonul de apel.
  • Gazda recepționează mesajul, afișează pe LCD textul “Oaspete la ușă” și pornește o melodie prin buzzer.
  • În timpul melodiei, gazda poate apăsa butonul Accept sau Reject:
    • Accept → trimite “ACCEPT”, afișează “Acces permis”, iar melodia este întreruptă.
    • Reject → trimite “REJECT”, afișează “Acces respins”, iar melodia este întreruptă.
    • Dacă nu este apăsat niciun buton în 20 de secunde, trimite automat “REJECT” și afișează “Apel pierdut”.
  • Oaspetele primește mesajul “ACCEPT” sau “REJECT” și aprinde LED-ul corespunzător:
    • ACCEPT → LED-ul verde se aprinde 2 secunde, apoi LED-ul roșu revine permanent.
    • REJECT → LED-ul roșu rămâne aprins.
  • Dacă nu primește niciun răspuns în 20 de secunde, oaspetele consideră apelul “expirat” și reaprinde LED-ul roșu permanent.
  • LED-ul roșu de la oaspete clipește intermitent doar cât timp apelul este în desfășurare, utilizând un timer hardware (TimerOne).

Surse și funcții implementate

setup() (gazdă și oaspete):

  • inițializează pini I/O (butoane, buzzer, LED-uri)
  • inițializează comunicația serială cu HC-12
  • pornește LCD-ul și timer-ul (la oaspete)

loop() (gazdă):

  • ascultă mesajele primite de la HC-12
  • afișează mesaje pe LCD
  • așteaptă apăsarea butoanelor Accept/Reject sau timeout de 20 secunde

loop() (oaspete):

  • trimite mesaj “APEL” o singură dată când este apăsat butonul
  • clipire LED roșu cu timer hardware cât timp apelul este activ
  • reacționează la mesajul “ACCEPT” sau “REJECT” primit prin HC-12
  • oprește apelul dacă nu primește nimic în 20 de secunde

playMelody():

  • redă o melodie prin buzzer la gazdă
  • permite întreruperea imediată a melodiei dacă este apăsat Accept/Reject

toggleRedLed():

  • întrerupere de timer care comută LED-ul roșu pentru a genera clipire în perioada apelului (oaspete)

Rezultate Obţinute

În urma implementării proiectului, a fost realizat un sistem funcțional de interfon wireless, bazat pe două plăci Arduino UNO (gazdă și oaspete), care comunică prin module HC-12. Sistemul:

  • permite inițierea unui apel de către oaspete, printr-un singur buton fizic;
  • afişează pe LCD-ul gazdei mesajul „Oaspete la ușă” și redă o melodie de notificare;
  • oferă gazdei posibilitatea de a accepta sau respinge accesul prin două butoane;
  • transmite răspunsul către oaspete, care îl interpretează prin LED-uri:
    • LED verde (acceptat) – se aprinde 2 secunde;
    • LED roșu (respinși sau fără răspuns) – rămâne aprins;
  • dacă în 20 de secunde nu există niciun răspuns, apelul este considerat pierdut;
  • în timpul apelului, LED-ul roșu de pe dispozitivul oaspete clipește intermitent, semnalizând că așteaptă un răspuns.

Proiectul a fost testat cu succes într-un mediu interior. S-au observat reacții corecte la apăsarea butoanelor, afișarea mesajelor pe LCD, funcționarea melodiei, și interpretarea corectă a semnalelor transmise wireless prin HC-12.

Soluția propusă oferă un mod simplu, wireless și eficient de control al accesului, potrivit pentru aplicații casnice sau prototipuri de interfon inteligent.

Download

Bibliografie/Resurse

pm/prj2025/apredescu/ana_florina.stoica.txt · Last modified: 2025/05/28 15:24 by ana_florina.stoica
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