Table of Contents

Alarmă cu senzor de mișcare

Introducere

Nume: Găină Ionuț
Grupa: 334CD
Îndrumător: Victor Stoica

Descriere

Proiectul constă într-un sistem inteligent conceput pentru detectarea și prevenirea intruziunilor într-o cameră. Va avea două moduri distincte: activat și dezactivat.

În modul dezactivat, introduci un PIN pe un afișaj LCD. După introducerea corectă a PIN-ului, dispozitivul se activează după un anumit timp, permițându-ți să părăsești camera.

Când intră în modul activat, senzorul de mișcare infraroșu este activat. Orice mișcare detectată declanșează un timer. Trebuie să introduci parola corectă în acest timp pentru a dezactiva alarma. În caz contrar, dispozitivul declanșează starea de alertă, aprinzând LED-urile și redând o melodie din cardul SD.

Motivație

Proiectul acesta m-ar putea ajuta să-mi dau seama dacă mi-a fost spartă camera de cămin. De exemplu unele chei funcționează și la alte camere, deci m-ar ajuta destul de mult ca să mă simt safe.

Descriere generală

Schema

Hardware Design

Listă piese

Arduino UNO R3
Modul Senzor PIR HC-SR501

- Folosit pentru a detecta mișcarea persoanei care intră în încăpere, acesta ar activa timerul pentru introducerea pinului

Breadboard

- Folosit pentru led-uri și nevoia de a avea mai multe fire în VCC și GCC

Difuzor 2W

- Emite sunete ca să sperie infractorul, de dorit să fie o melodie cu ”numai cu poliția plecăm de aici”

Modul Amplificator Audio LM386

- Ca să dăm mai multă putere difuzorului, să audă și infractorul muzica

Modul microSD reader cu SPI

- Citește microSD-ul, care va avea muzica bună

Card microSD

- Va salva muzica bună

Display LCD cu modul I2C

- Se va afișa mesaje relevante pentru utilizator, de asemenea și pinul pe care-l introduce

2x LED-uri

- Va arăta starea în care se află, Albastru când e în starea Dezactivată (trebuie să introducă un pin), Roșu în starea Activată (senzorul de mișcare e pornit și așteaptă să fie introdus pinul corect), Albastru și Roșu intermitent (Există un infractor în casă și țipă)

2x Rezistențe 220 ohmi

- Folosit pentru a ține fumul în led-uri.

Condensator 100 nF

- Folosit ca să stabilizez tensiunea și să filtrez zgomotul.

Keypad 4x4

- Chiar dacă e 4×4, voi folosi doar 3 coloane, căci am nevoie doar de numere. - Folosit pentru a introduce pinul

Schema electrică

Cablaje

Keypad
  R1  ----------   8
  R2  ----------   7
  R3  ----------   6
  R4  ----------   5
  C1  ----------   4
  C2  ----------   3
  C3  ----------   2
  C4  ----------   FREE
  
Disply LCD I2C
  GND ---------- GND
  VCC ---------- VCC
  SDA ----------  A4
  SCL ----------  A5
AMPLIFIER LM386
  GND ---------- GND
  GND ---------- FREE
  VCC ---------- VIN
  IN  ---------- 9
PIR SENSOR
  GND ---------- GND
  OUT ---------- A1
  VCC ---------- VCC
MICROSD MODULE
  GND ---------- GND
  VCC ---------- VCC
  CS  ---------- 10
  SDO---------- 11
  SDI---------- 12
  SCK ---------- 13
LED alternativ
  GND ---------- GND
  VCC ---------- A0
  
Condensator
  VCC ---------- GND

Poze

Software Design

Dezvoltare Software:

  • Mediu de dezvoltare: PlatformIO
  • Librării: Keypad, LiquidCrystal_I2C, SD, SPI, TMRpcm, Wire

Implementare Software

Keypad

Pentru implementarea keypad-ului am creat două funcții:

- bol read_keypad() pot să tastez parola când sunt în starea “DEZACTIVAT”, “ACTIVAT” și “ALARM” când apăs pe ”#” îmi încearcă parola dacă e corectă, dacă lungimea parolei introduse e 0 și suntem în starea “DEZACTIVAT”, vom intra în starea “SETTINGS”. Dacă pinul introdus are lungimea 4, se va verifica dacă parola e bună și vom intra în următoarea starea, această logică fiind deja în funcția stării. Dacă apas pe “*” atunci se va șterge parola introdusă

- bol read_keypad_reset() logica e asemănătoare ca dea de read_keypad(), dar aici se va verifica dacă parola e de dimensiune bună și să va apela funcția set_new_pin(entered_pin), care încearcă să salveze parola pe microsd.

La apăsarea unei taste se va da un feedback sonor, care este implementat cu un timer pentru a nu îngreuna codul cu delay-uri

PIR sensor

Senzorul infraroșu e folosit doar în starea “ACTIVAT”, unde la detectarea mișcării va porni un timer, în timpul în care dacă nu pui parola corectă, aceasta va intra în starea “ALARM”, care ar trebui să sperie infractoru și probabil va da un pumn în proiectu nostru.

MICROSD

Am folosit microsd pentru salvarea persistentă a parolei și pentru a avea muzica dorită.

- set_new_pin(const String &new_pin) folosit pentru a salva parola nouă, dacă fișierul nu există în microsd va fi creat, de asemenea dacă e o parolă scrisă greșit va fi suprascrisă.

- read_pin() această funcție îmi citește parola din microsd, dacă din întâmplare la pornirea sistemului nu există acel fișier se va pune parola DEFAULT

LED-uri

Led-urile le-am folosit pentru a speria infractoru în starea “ALARM” cu un led roșu și unu albastru, să pară că e serioasă treaba și vine poliția peste el.

Stări

Am în teorie 4 stări, însă în practică sunt 5

- INITIALIZATION : e o stare care nu o am explicită, însă la setup, dacă se întâmplă ceva greșit, atunci sistemul nu va intra în starea DEZACTIVAT și va afișa pe display că ceva nu e bine.

- SETTINGS : aici setăm parola nouă

- DEZACTIVATED : starea în care clientul se poate mișca cum dorește inima lui prin casă, unde e nevoie să pună parola corectă ca să intre în starea ACTIVAT, de asemenea de aici poate intra și în starea SETTINGS

- ACTIVATED : în această stare clientul ar trebui să fie ieșit din casă, căci senzorul infraroșu dacă detectează o mișcare umană, va intra într-un timp stabilit în starea ALARM, dacă persoana detectată nu pune parola corectă în timpul corect.

- ALARM : Aici vor fi semnale luminoase și sonore, încât infractorul “să treacă pe dreapta”, din această stare poți să ieși doar dacă pui parola corectă

Rezultate Obţinute

Proiectul a ieșit bombă, nu mai intră nimeni în camera mea

Concluzii

Download

Cod sursă: cod.zip

Link github:

Jurnal

- Mi-am cumpărat în vară un Raspberry Pi, bandă led, senzori de mișcare să fac ceva smart home.
- Mi-a venit inspirația să ar fi bine la cămin să avem o alarmă, pe data de 2 mai și că nu pot folosi raspberry-ul.
- Am început să caut componentele necesare.
- Am primit tot ce am avut nevoie până pe 11 mai.
- Mi-am dat seama că nu am microSD, led-uri, rezistențe.
- Am început să mai caut iar și am primit led-urile și rezistențele, card microSD vine pe 16 mai.

Bibliografie/Resurse

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

Export to PDF