This is an old revision of the document!
Microcontroler: ATmega328P Xplained Mini
Proiectul implementează un sistem de alarmă antiefracție pentru un mic spațiu comercial, folosind ca unitate centrală placa de dezvoltare ATmega328P Xplained Mini. Sistemul citește senzori multipli, validează codul de acces introdus de utilizator de la o tastatură și declanșează avertizarea sonoră (cu posibilitate de extindere prin notificare WiFi) atunci când este detectată o intruziune.
Funcționalitățile principale ale sistemului sunt:
Sistemul este structurat pe patru zone funcționale: senzorii și interfața utilizator (intrări), unitatea de control (microcontrolerul), actuatorii (LCD, buzzer, modul WiFi opțional) și alimentarea.
Figura 1. Schema bloc a sistemului
^ Componenta ^ Rol în sistem ^ Cantitate ^
| ATmega328P Xplained Mini | Unitate centrală de control. | 1 |
| Modul AMS1117 3.3V | Regulator de tensiune 5V → 3.3V pentru ESP8266. | 1 |
| Modul ESP8266-DEV | Modul WiFi pentru notificări la distanță (opțional). | 1 |
| LCD 1602 (albastru) | Afișaj alfanumeric pentru mesaje de stare. | 1 |
| Senzor PIR AMS312 | Detecție mișcare prin infraroșu pasiv. | 1 |
| Senzor radar RCWL-0516 | Detecție mișcare prin microunde (efect Doppler). | 1 |
| Senzor vibrații SW1801P | Detecție lovituri / spargere geam. | 1 |
| Tastatură matriceală 4×4 | Introducere cod PIN pentru armare/dezarmare. | 1 |
| Buzzer activ 5V | Element de avertizare sonoră. | 1 |
| Tranzistor 2N3904 NPN | Driver de curent pentru buzzer. | 1 |
| Rezistor 1 kΩ (1/4 W) | Limitarea curentului de bază al tranzistorului. | ≥1 |
| Rezistor 10 kΩ (1/4 W) | Pull-up/pull-down pentru intrări digitale. | ≥3 |
| Breadboard MB102 | Suport pentru conexiunile fără lipire. | 1 |
| Fire Dupont mamă-tată 10 cm | Conexiuni între breadboard și placa de dezvoltare. | 1 set |
| Fire Dupont tată-tată 10 cm | Conexiuni interne pe breadboard. | 2 seturi |
Sunt detaliate mai jos componentele cu rol principal și preț ridicat în proiect.
Placa de dezvoltare integrează microcontrolerul ATmega328P (AVR 8-bit, 16 MHz, 32 KB Flash, 2 KB SRAM) împreună cu un programator-debugger mEDBG, vizibil ca port serial virtual pentru calculator. Această integrare elimină nevoia unui programator extern. Microcontrolerul oferă 23 de pini I/O, două întreruperi externe, UART, SPI, I²C și memorie EEPROM de 1 KB folosită pentru stocarea persistentă a codului PIN.
Modulul ESP8266 este un microcontroler integrat cu interfață WiFi 2.4 GHz, capabil să se conecteze la o rețea locală și să trimită cereri HTTP, mesaje MQTT sau notificări prin servicii precum Telegram Bot. Comunicația cu ATmega328P se face prin UART, folosind un protocol simplu de comenzi text. Modulul se alimentează la 3.3V prin regulatorul AMS1117 și necesită adaptarea de nivel a liniei TX a microcontrolerului (de la 5V la 3.3V) printr-un divizor rezistiv simplu.
Senzorul folosește microunde de aproximativ 3.2 GHz și detectează mișcarea prin efect Doppler. Spre deosebire de senzorul PIR, nu este afectat de variațiile termice și poate detecta mișcarea prin pereți subțiri sau prin sticlă, cu o rază de aproximativ 5–7 metri. Acceptă alimentare între 4V și 28V și furnizează la ieșire un nivel logic de 3.3V, compatibil cu intrările pe 5V ale ATmega328P.
Senzorul PIR (Passive InfraRed) detectează variațiile de radiație infraroșie în câmpul său vizual, reacționând la apariția unei surse de căldură (corp uman). Modulul AMS312 este compact și are parametrii (sensibilitate, durată de menținere a ieșirii) fixați intern. Combinarea sa cu senzorul radar prin ȘI logic software este o tehnică standard în alarmele comerciale, deoarece punctele slabe ale celor doi senzori sunt complementare.
Afișajul alfanumeric folosește controlerul standard HD44780 și este conectat în mod 4-bit pentru economie de pini. Pentru a reduce și mai mult numărul de pini ocupați, se recomandă varianta cu modul I²C (PCF8574), care necesită doar două linii (SDA și SCL) — soluție aproape obligatorie aici, deoarece tastatura 4×4 ocupă singură 8 pini.
Cele 16 taste sunt organizate într-o matrice de 4 rânduri x 4 coloane, conectate la 8 pini I/O. Citirea apăsărilor se face prin scanare matriceală: microcontrolerul activează succesiv câte un rând (LOW) și citește starea celor 4 coloane configurate ca intrări cu pull-up. La nivel software este obligatoriu un mecanism de debouncing pentru a elimina oscilațiile contactelor mecanice.
Comportamentul sistemului este modelat ca o mașină de stări finite cu cinci stări principale. La pornire, sistemul intră în starea DEZARMAT. Tranzițiile sunt declanșate de evenimente provenite de la senzori, de la tastatură sau de la temporizatoarele interne.
Figura 2. Diagrama de stări