Table of Contents

Alarma de Proximitate cu Jurnal Serial

Introducere

Proiectul constă într-un sistem de securitate inteligent, capabil să monitorizeze distanța și să declanșeze o alertă complexă (vizuală, sonoră și digitală) atunci când este încălcat un perimetru de siguranță configurabil.

  • Ce face: Măsoară distanța cu HC-SR04, citește pragul dintr-un slide-pot și afișează valori pe OLED SSD1306; la risc, activează LED + buzzer și trimite loguri pe Serial (USART).
  • Scop: Integrarea interfețelor ADC, TWI/I2C, Timere/PWM și USART pe ATmega328P.
  • Element de noutate: Alarmă în doi pași: prealarmă pe distanță, iar alarma sonoră pornește doar la confirmarea mișcării (PIR), cu frecvența buzzer-ului dependentă de distanță.

Descriere generală

Arhitectura proiectului este centrată pe microcontrolerul ATmega328P. Sistemul este organizat în trei piloni funcționali:

Modulul de Achiziție și Control (Intrare)

Modulul de Procesare

Microcontrolerul compară distanța cu pragul setat și verifică PIR. În funcție de stare, actualizează LED-ul, buzzer-ul și mesajele trimise pe Serial.

Modulele de Ieșire (Feedback)

Flux de utilizare (pe scurt)

  1. Conectează modulele conform tabelului de pini și alimentează placa.
  2. Deschide monitorul serial la 57600 baud.
  3. OLED-ul afișează distanța și pragul setat de potențiometru.
  4. Reglează pragul (5-80 cm) din slide-pot.
  5. În mod OK, LED-ul “respiră” (1s urcare, 1s coborâre).
  6. La distanță sub prag: prealarmă (LED constant, log 1/s).
  7. La distanță sub prag + PIR activ: alarmă (blink rapid + buzzer, mesaj ”!!! INTRUS !!!”).

Hardware Design

Lista componentelor hardware utilizate:

Nr. Crt. Componentă Cantitate Rol în proiect Modul / Interfață folosită
1. ATmega328P-Xplained Mini 1 buc. Unitatea centrală de procesare. Toate
2. OLED SSD1306 128×64 1 buc. Afișare distanță, prag, stare alarmă. I2C (SDA, SCL)
3. Senzor Ultrasonic HC-SR04 1 buc. Măsurarea distanței prin ultrasunete. Timere / Input Capture
4. Senzor Motion (PIR) 1 buc. Detectarea mișcării. GPIO
5. Slide-pot (HW-233) 1 buc. Reglarea pragului de alarmă. ADC
6. Buzzer Pasiv 1 buc. Alarmă sonoră cu ton variabil. PWM / Timere
7. LED status 1 buc. Alarmă vizuală. PWM
8. Rezistență 220Ω 1 buc. Protecția LED-ului. N/A

Pini folosiți și motivație

Componentă Pin ATmega328P Rol Motivație tehnică
OLED SDA PC4 (SDA) I2C data SDA hardware (TWI) pentru I2C stabil
OLED SCL PC5 (SCL) I2C clock SCL hardware (TWI) pentru I2C stabil
Ultrasonic Trig PD3 output digital pin simplu pentru impuls 10 us
Ultrasonic Echo PB0 (ICP1) input capture ICP1 măsoară lățimea impulsului precis
Motion (PIR) PC1 input digital ieșire digitală comparată intern
Potențiometru PC0 (ADC0) intrare analogică ADC0 este canal dedicat ADC
Buzzer PD6 (OC0A) PWM output OC0A oferă PWM hardware
LED status PB3 (OC2A) PWM output PWM hardware pentru efecte

Schema electrică (ASCII)

ATmega328P              OLED SSD1306
PC4 (SDA)  -----------  SDA
PC5 (SCL)  -----------  SCL
VCC        -----------  VCC
GND        -----------  GND

ATmega328P              HC-SR04
PD3 (TRIG) -----------  TRIG
PB0 (ECHO) -----------  ECHO
VCC        -----------  VCC
GND        -----------  GND

ATmega328P              MOTION
PC1 ------------------  OUT
VCC        -----------  VCC
GND        -----------  GND

ATmega328P              Slide-pot HW-233
PC0 (ADC0) -----------  OUT
VCC        -----------  VCC
GND        -----------  GND

ATmega328P              Buzzer pasiv
PD6 (OC0A) -----------  S
VCC        -----------  VCC
GND        -----------  GND

ATmega328P              LED status
PB3 (OC2A) -----------  ANOD (+)
GND ------------------  CATOD (-) (cu rezistență serie)

Software Design

Descrierea codului aplicației (firmware)

Codul este conceput pentru ATmega328P și folosește o arhitectură modulară (driver per periferic). Nu sunt folosite biblioteci Arduino; totul este scris cu acces direct la registre.

Algoritmi și logică de alarmă

Biblioteci și drivere

Header-ele standard:

Drivere locale:

Structura proiectului și interacțiunea între module

  1. Init: USART, ADC, TWI, OLED, motion, ultrasonic, buzzer, GPIO.
  2. Buclă: trigger HC-SR04, măsurare distanță, citire prag.
  3. Decizie: OK, prealarmă, alarmă (PIR + distanță).
  4. Afișare: OLED actualizează valori; serialul loghează starea.

Logica pe fișiere

Justificarea funcționalităților din laboratoare

Observații

Rezultate Obţinute

Validarea s-a făcut prin:

  • monitor serial (mesaje de status și loguri de alertă),
  • OLED (distanță, prag, mesaj de intrus),
  • LED/buzzer (respirație în OK, blink rapid la alarmă, buzzer activ),
  • test practic cu obiect apropiat și mișcare PIR (alarmă confirmată).

alarma-proximitate.jpegalarma-proximitate2.jpeg

Concluzii

Proiectul demonstrează integrarea corectă a interfețelor ADC, TWI/I2C, Timere/PWM și USART într-un sistem de alarmă funcțional. Soluția oferă feedback clar (vizual, sonor și digital) și permite configurarea pragului în timp real, fiind o bază solidă pentru extinderi viitoare.

Download

alarma-proximitate.zip

Jurnal

Bibliografie/Resurse