Table of Contents

Sistem alarma pe baza de miscare

Introducere

Proiectul meu este un sistem de alarma. Sistemul foloseste un senzor PIR pentru a detecta miscarea, iar in functie de starea alarmei aprinde LED-uri, afiseaza mesaje pe un LCD si porneste un buzzer.

Ideea proiectului a fost sa fac un sistem simplu de securitate, asemanator cu o alarma de camera. Alarma poate fi armata si dezarmata folosind un buton. Cand sistemul nu este armat, LED-ul verde este aprins. Cand alarma este armata LED-ul rosu este aprins si cand senzorul PIR detecteaza miscare, LED-ul rosu palpaie, buzzer-ul incepe sa sune, iar pe LCD apare un mesaj de alerta.

In plus, proiectul trimite mesaje catre un PC prin Bluetooth, folosind modulul HC-05. Astfel, calculatorul poate primi informatii despre starea sistemului, de exemplu daca alarma a fost armata, dezarmata sau daca a fost detectata miscare.

Scopul proiectului este sa combin mai multe notiuni lucrate la laborator, cum ar fi folosirea pinilor GPIO, PWM pentru buzzer, comunicatia USART pentru Bluetooth si I2C pentru LCD. Am ales aceasta idee deoarece este usor de inteles, dar include mai multe componente hardware si mai multe tipuri de comunicatie.

Proiectul poate fi util ca un exemplu simplu de sistem de securitate pentru o camera, birou sau dulap. Chiar daca este un prototip, principiul este asemanator cu cel folosit in sistemele reale de alarma.

Descriere generală

- ATmega328P XMINI este placa principala a proiectului. Ea citeste datele de la senzori si controleaza toate celelalte module: LED-uri, buzzer, LCD si Bluetooth.

- Senzorul PIR HC-SR501 este folosit pentru detectarea miscarii. Cand senzorul detecteaza miscare, trimite un semnal digital catre microcontroller.

- Butonul este folosit pentru armarea si dezarmarea sistemului. Prin apasarea lui se schimba starea alarmei: armata sau dezarmata.

- LED-ul verde indica faptul ca alarma este dezarmata. Cand sistemul nu este activ, acest LED ramane aprins.

- LED-ul rosu indica faptul ca alarma este armata. Cand sistemul este armat, LED-ul rosu sta aprins continuu. Daca este detectata miscare, LED-ul rosu incepe sa palpaie.

- Buzzerul pasiv este folosit pentru semnalizarea sonora a alarmei. Acesta este controlat prin PWM, astfel incat microcontrollerul genereaza semnalul necesar pentru sunet.

- LCD-ul 1602 cu interfata I2C afiseaza starea sistemului. Pe ecran pot aparea mesaje precum “Sistem dezarmat”, “Sistem armat” sau “Alerta miscare”.

- Modulul Bluetooth HC-05 este folosit pentru comunicatia cu PC-ul. Acesta este conectat la microcontroller prin USART folosit in mod asincron, asemanator unei comunicatii UART.

- PC-ul/laptopul primeste prin Bluetooth mesaje trimise de sistem. De exemplu, cand alarma este armata, dezarmata sau cand este detectata miscare, aceste informatii pot fi vazute intr-un terminal serial.

- Alimentarea sistemului se face la 5V, prin placa ATmega328P XMINI. Modulele principale sunt alimentate de la aceeasi sursa, iar toate componentele au GND comun.

- Sistemul are doua stari principale: dezarmat si armat. In starea dezarmat, LED-ul verde este aprins si miscarea detectata de PIR nu declanseaza alarma. In starea armat, LED-ul rosu este aprins, iar daca PIR-ul detecteaza miscare, alarma se activeaza.

- Cand alarma este declansata, microcontrollerul face mai multe actiuni in acelasi timp: LED-ul rosu palpaie, buzzerul suna prin PWM, LCD-ul afiseaza mesaj de alerta, iar prin Bluetooth se trimite un mesaj catre PC.

- Comunicarea dintre module se face prin mai multe tipuri de interfete: GPIO pentru LED-uri, buton si senzor PIR, PWM pentru buzzer, I2C pentru LCD si USART/UART pentru modulul Bluetooth.

Hardware Design

Lista componente

Componenta Cantitate Rol in proiect
ATmega328P XMINI 1 Microcontrollerul.
Senzor PIR HC-SR501 1 Detecteaza miscarea
LCD 1602 cu adaptor I2C 1 Afiseaza starea sistemului: dezarmat, armat sau alerta.
Modul Bluetooth HC-05 1 Trimite mesaje catre PC/laptop
Buzzer pasiv 1 Alerta sonora
LED verde 5mm 1 Este aprins cand alarma este dezarmata.
LED rosu 5mm 1 Este aprins cand alarma este armata si palpaie cand este detectata miscare.
Buton push-button 1 Folosit pentru armarea si dezarmarea sistemului.
Rezistori 1kΩ 5 Limiteaza curentul prin LED-uri si divizor de tensiune pt modul HC-05.
Breadboard 1 Folosit pentru montajul circuitului fara lipire.
Fire jumper tata-tata mai multe Conexiuni pe breadboard.
Fire jumper tata-mama mai multe Conexiuni intre module si placa/breadboard.
Cablu USB 1 Alimentare

Pini folositi

Pin ATmega328P Eticheta Componenta Rol
PB0 LED_ROSU LED rosu + rezistor 1kΩ Iesire digitala - indica alarma armata sau alerta
PB1 LED_VERDE LED verde + rezistor 1kΩ Iesire digitala - indica alarma dezarmata
PB2 BUZZER_PWM Modul buzzer pasiv Iesire PWM - genereaza semnalul sonor al alarmei
PD2 PIR_OUT Senzor PIR HC-SR501 Intrare digitala - detecteaza miscarea
PD3 BUTON Buton push-button Intrare digitala - armare/dezarmare alarma, folosind pull-up intern
PD0 BT_RX Modul Bluetooth HC-05 Intrare USART - primeste date de la modulul Bluetooth
PD1 BT_TX Modul Bluetooth HC-05 Iesire USART - trimite date catre HC-05 prin divizor de tensiune
PC4 SDA LCD 1602 I2C Linie de date I2C/TWI pentru LCD
PC5 SCL LCD 1602 I2C Linie de ceas I2C/TWI pentru LCD
VCC / +5V VCC Toate modulele Magistrala pozitiva de alimentare, 5V de la placa
GND GND Toate modulele Masa comuna a circuitului

Schema

Schema prezinta conexiunile dintre placa ATmega328P Xplained Mini si toate modulele folosite in proiect. Sunt incluse alimentarile comune la +5V si GND, conexiunile pentru LED-ul rosu si LED-ul verde prin rezistori de limitare a curentului, senzorul PIR conectat la un pin digital pentru detectarea miscarii, butonul folosit pentru armarea si dezarmarea sistemului cu pull-up intern, buzzerul pasiv controlat prin PWM, LCD-ul 1602 conectat prin interfata I2C pe liniile SDA si SCL, precum si modulul Bluetooth HC-05 conectat prin USART/UART pentru transmiterea mesajelor catre PC. In schema este reprezentat si divizorul de tensiune pentru pinul RXD al modulului HC-05, deoarece acesta lucreaza mai sigur cu un semnal logic de aproximativ 3.3V. Practic, schema arata cum microcontrollerul citeste intrarile de la buton si senzorul PIR, apoi controleaza iesirile sistemului: LED-uri, buzzer, LCD si comunicatia Bluetooth.

In aceasta poza se vede montajul initial pe breadboard, unde sunt conectate butonul, rezistentele si LED-urile folosite pentru indicarea starii sistemului.

Aceasta poza prezinta LCD-ul I2C montat si testat. Pe ecran este afisat mesajul “Salut! Functionez”, pentru a demonstra ca display-ul este conectat corect si comunica cu microcontrollerul. Se vad de asemenea si restul componentelor legate la placa.

In ultima poza se observa mesajele primite in monitorul serial prin modulul Bluetooth HC-05, folosit pentru transmiterea datelor de la sistem catre PC.

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

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