Table of Contents

Alarma de Proximitate cu Jurnal Serial

Introducere

Proiectul constă în realizarea unui sistem de securitate inteligent, capabil să monitorizeze distanța până la obiectele din jur și să declanșeze o alertă complexă (vizuală, sonoră și digitală) în momentul încălcării unui perimetru de siguranță configurabil.

  • Ce face: Sistemul utilizează un senzor ultrasonic pentru a măsura distanța în timp real. Utilizatorul poate regla „limita de alarmă” folosind un potențiometru. Valorile sunt afișate pe un ecran LCD, iar în caz de proximitate critică, un buzzer pasiv și un LED emit semnale de avertizare. În paralel, sistemul trimite un jurnal de evenimente către un PC via Serial (USART).
  • Scopul lui: Implementarea și integrarea a patru interfețe hardware fundamentale: ADC (citire potențiometru), I2C (afișare LCD), Timere/PWM (măsurare distanță și control buzzer) și USART (comunicație cu PC-ul).
  • Ideea de pornire: Nevoia de a crea un sistem de monitorizare interactiv, unde pragurile de declanșare nu sunt „hardcodate”, ci pot fi ajustate manual de utilizator, oferind în același timp o metodă de monitorizare la distanță prin jurnalul serial.
  • Utilitate: Proiectul demonstrează conceptele de bază ale sistemelor de alarmă moderne și ale monitorizării industriale, fiind un punct de plecare excelent pentru aprofundarea protocoalelor de comunicație și a procesării semnalelor senzoriale.

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 citită de senzor cu pragul setat prin potențiometru. Acesta gestionează temporizarea pentru senzorul ultrasonic și calculează frecvența pentru semnalul de alarmă.

Modulele de Ieșire (Feedback)

Hardware Design

În această etapă, lista de componente hardware necesare pentru realizarea proiectului este următoarea:

Nr. Crt. Componentă Cantitate Rol în proiect Modul / Interfață folosită
1. ATmega328P-Xplained Mini 1 buc. Unitatea centrală de procesare. Toate
2. Senzor Ultrasonic HC-SR04 1 buc. Măsurarea distanței prin ultrasunete. Timere / Input Capture
3. Display LCD 1602 + I2C 1 buc. Afișarea distanței și a limitei setate. I2C (SDA, SCL)
4. Potențiometru 10kΩ 1 buc. Reglarea manuală a pragului de alarmă. ADC
5. Buzzer Pasiv 1 buc. Alarmă sonoră cu ton variabil. PWM / Timere
6. LED 3mm (Roșu) 1 buc. Alertă vizuală în caz de proximitate. GPIO / PWM
7. Rezistență 220Ω 1 buc. Protecția LED-ului. N/A
8. Breadboard & Fire Dupont 1 set Realizarea conexiunilor fizice. N/A

Software Design

Descrierea codului aplicației (firmware)

Codul este conceput pentru a rula pe microcontrolerul ATmega328P, utilizând o abordare modulară pentru a facilita debugging-ul și extinderea ulterioară. Fiecare periferic (ADC, USART, I2C) are propriul set de funcții de inițializare și utilizare.

Algoritmi și structuri de date

Surse și funcții implementate

Funcție Rol
void USART_init(unsigned int baud) Configurează rata de transfer și formatul frame-ului pentru comunicarea serială.
void ADC_init() Configurează referința de tensiune și pre-scaler-ul pentru convertorul analog-digital.
uint16_t ADC_read(uint8_t channel) Returnează valoarea digitală citită de la potențiometru.
void T1_init() Inițializează Timer1 pentru măsurarea precisă a timpului (modul Input Capture).
void PWM_init() Configurează Timer0/2 pentru generarea semnalului PWM către buzzer.
void LCD_print(char* str) Funcție helper pentru afișarea șirurilor de caractere pe ecranul I2C.
void process_alarm() Funcție principală de decizie care compară datele și activează ieșirile.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF