Dana-Maria NICA (78504) - Alarm system

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Din nefericire 35% dintre români preferă să își tină economiile la saltea sau în dulap, printre haine. Iar acest obicei îi face, din păcate, o tintă sigură pentru hoții care s-au specializat să dea spargeri în câteva minute. De aceea, prin setarea unui sistem de alarmă poți reduce semnificativ riscul de a deveni victima unui furt. Un sistem de alarmă(sistem de detecție și semnalizare a efracției) este poate cea mai întâlnită componentă a unui sistem de securitate.

Descriere generală

Sistemul de alarma are 2 butoane:

  • Power button
  • Settings button - setarea parolei

Mesajele text vor fi afisate pe LCD, iar parola va fi introdusa cu ajutorul tastaurii matriceale.

Senzorul de proximitate este un mini radar ce se bazează pe efectul Doppler. Detectează mișcarea pe 360 de grade și emite un semnal TTL continuu atunci când exista miscare.Senzorul ultrasonic HC-SR04 este unul dintre cei mai populari și ușor de utilizat senzori de distanță. Este compatibil cu Arduino și prezintă câteva avantaje față de senzorii de distanță analogici: necesită doar pini I/O digitali, are imunitate mai mare la zgomot.Transmite microcontroller-ului care va trimite notificari folosind modulul wireless unei aplicatii Android.Va aprinde led-urile in functie de corectitudinea parolei introduse si va transmite buzzer-ului frecventa necesara pentru a reda un sunet specific.

Hardware Design

Lista Piese:

Denumire Numar bucati Distribuitor
Placa de baza PM 2018 1 Echipa PM
Microcontroller ATMega324 1 Farnell
Modul WiFi ESP8266 ESP-01 Negru 1 Optimus Digital
Senzor de Proximitate cu Microunde (Doppler) 1 Optimus Digital
Tastatura matriceala 4×4 cu conector pin de tip mama 1 Optimus Digital
Modul cu Buzzer activ1Optimus Digital
Modul LCD 1602 cu Backlight Albastru de 3.3 V1Optimus Digital
Buzzer pasiv 1Optimus Digital
Senzor ultrasonic HC-SR04 1Optimus Digital
Push-button2
Led2

Software Design

  • Pentru lucrul cu LCD-ul am folosit fișierele lcd.h/lcd.c puse la dispozitie în cadrul laboratorului.

DDRD : Liniile R0-R3 sunt setate ca input. Coloanele C0-C3 sunt setate ca High Impedance State, nu sunt nici HIGH nici LOW sunt in TRISTATE. PORTD: Coloanele sunt setate pe LOW,deci de indata ce se schimba portul DDR pe 1 ele devin output cu valoarea LOW. Se ia fiecare linie si se verifica daca una din taste a fost apasata.

  • Desi initial am planuit folosirea unui buzzer activ in cele din urma am decis sa folosesc unul pasiv, asemanator laboratorului.

Am folosit in cele din urma buzzerul activ, sunetul era mai potrivit pentru o alarma :))) De asemenea am renuntat la senzorul RCWL 0516, pentru un senzor de distanță HC-SR04. Acesta are doi pini cu care se face măsurarea distanței: unul de trigger și altul de echo. Dupa ce se trimite un impuls pe pinul de trigger, se măsoara durata impulsului de răspuns de pe echo, iar depinzând de aceasta, se determină cât de departe e obiectul din fața senzorului. Citirea senzorului de distanță se face tot folosind timere: o dată ce a fost trimis un impuls pe pinul TRIGGER, se declanseaza un timer cu un prag de 50 us, care va verifica starea pinului ECHO. La final, pe baza acestuia se va determina cât de mare a fost durata răspunsului.

  • Pentru folosirea modulului wireless am urmarit tutorialul http://www.electronicwings.com/avr-atmega/atmega16-interface-with-esp8266-module.
  • Implementarea timeout-ului se face folosind timere și întreruperi.
  • Initial sistemul se află în stadiul de NOT ARMED. Pentru a o arma, se introduce, folosind tastatura, codul de alarmă. Pentru aceasta se folosesc tastele 0-9 ale tastaturii, tasta D fiind delete (se șterge ultima cifră introdusă). Pentru memorarea codului și trecerea în starea ARMED se apasă tasta #. Detectarea miscarii duce la starea INTRUDER . Timp de 20s utilizatorul trebuie sa intorduca parola pentru a dezactiva alarma. Dacă dupa 20 secunde utilizatorul nu a făcut acest lucru, alarma trece în modul ALARM, si de asemenea cu ajutorul modulului wireless este semnalata la distanta prezenta intrusului.

* Modulul wireless se conecteaza la un channel creat pe siteul thingspeak.com facad un http request (get), actualizand fieldul 3 al channelului. Rezultatele pot fi vizualizate sub forma unui grafic sau sub forma unui JSON.

Api-uri disponibile:

* Aplicatia Android face un http request la api-ul pus la dispozitie de site GET https://api.thingspeak.com/channels/503858/fields/3.json . Parseaza jsonul obtinut si afiseaza data, ora si evenimentul produs : ALARM TRIGGERED(in grafic valoarea 3) SOMEONE IN! CORRECT PASSWORD (in grafic valoarea 0).

Rezultate Obţinute

* Server Thingsspeak.com Channel atotputerNICA : 503858

JSON field 3 : 3.json

|

* Aplicatie Android

* Video VLUXlI7YnoY

Concluzii

A fost o experienta interesanta, pe langa programarea microcontroller-ului, am invatat sa lipesc componente pe placa, si am reusit sa ma curentez cu letconul.

Here’s a hot tip: The end of my soldering iron.

Download

Jurnal

  • 21.04.2018 Milestone 1 Creare pagina,Tema proiectului, lista de piese și schema bloc
  • 04.05.2018 Milestone 2 Placa baza
  • 06.05.2018 Milestone 3 - Schema electrică a proiectului
  • 23.05.2018 Milestone 4
  • 25.04.2018 Implementare finalizata + wifi + Aplicatie Android

Bibliografie/Resurse

pm/prj2018/imatesica/alarm_system.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0