This is an old revision of the document!
Proiectul reprezinta un sistem simplu de securitate pentru casa, construit pe ATmega328P-Xplained Mini, folosind un senzor de miscare PIR, un keypad 4×4 si un display LCD 16×2. Sistemul poate fi armat si dezarmat prin introducerea unui cod PIN. Odata armat, monitorizeaza miscarea si ofera un interval de timp pentru dezarmare inainte de declansarea alarmei (buzzer si LED). Logica este implementata folosind o masina de stari, pentru un comportament eficient, fara blocaje.
Pe langa functionalitatea de baza, sistemul este proiectat sa poata fi extins cu senzori suplimentari (senzor de fum, senzor de gaz, contact magnetic pentru usi/ferestre) si conectivitate wireless (Bluetooth prin HC-05) pentru trimiterea de notificari in timp real catre utilizator.
Sistemul functioneaza ca o masina de stari cu 4 stari principale:
DEZARMAT → EXIT DELAY → ARMAT → ENTRY DELAY → ALARMA → DEZARMAT
Schema bloc:
[PIR HC-SR501] --INT0--> | | --I2C--> [LCD 16x2] [Keypad 4x4] --GPIO--> | ATmega328P-Xmini | --PWM--> [Buzzer] [Senzor fum] --ADC--> | | --GPIO--> [LED rosu/verde] [Contact usa] --GPIO--> | | --UART--> [ESP8266/HC-05]
Lista de piese:
| Componenta | Model | Rol |
|---|---|---|
| Microcontroller | ATmega328P-Xplained Mini | Unitate centrala de control |
| Senzor PIR | HC-SR501 | Detectie miscare |
| Display LCD | 16×2 + modul I2C PCF8574 | Afisare stare sistem |
| Keypad | Membrana 4×4 | Introducere cod PIN |
| Buzzer | Pasiv 5V | Alerta sonora |
| LED rosu | 5mm + rezistor 220Ω | Indicator alarma |
| LED verde | 5mm + rezistor 220Ω | Indicator sistem dezarmat |
| Modul BT | HC-05 | Notificari Bluetooth |
| Senzor fum | MQ-2 | Detectie fum/gaz |
Conexiuni principale:
Mediu de dezvoltare: AVR-GCC + Atmel Studio
| Periferic | Utilizare |
|---|---|
| INT0 | Intrerupere externa PIR |
| Timer0 Fast PWM | Generare ton buzzer |
| Timer1 CTC | Timekeeping non-blocant |
| TWI (I2C) | Comunicare LCD prin PCF8574 |
| GPIO | Scan keypad matriceal, LED-uri |
| UART | Comunicare modul wireless |
Structura software:
main() cu switch(alarm_state)_delay_ms())De completat dupa implementare.
De completat dupa implementare.
Fisierele vor fi incarcate dupa finalizarea proiectului.
Hardware:
Software & Tutoriale: