Table of Contents

Gardian Automat

Introducere

Cu totii probabil ne-am lovit de problema gardianului de la Poli care te ia la intrebari cand ajungi la facultate ca sa se asigure ca esti student pentru a iti permite sa intri in campus. Problema este ca de cele mai multe ori se intampla asta in special cand esti pe cea mai mare fuga, fiind deja in intarziere. De aici a venit ideea proiectului meu : gardianul automat. In acest mod nu va mai fi nevoie sa ne legitimam si sa oferim explicatii despre motivul pentru care vrem sa intram in campus.

Descriere generală

Imi doresc sa implementez un sistem ce poate descuia poarta prin intermediul unui cod pin (introdus de la tastatura), prin actiunea unei telecomenzi sau cu ajutorul unui senzor rfid.

Schema Bloc

Hardware Design

Componente necesare

Simulare atasare componente pe Arduino UNO

Deoarece Tinkercad nu contine modulul RFID am adaugat imagini separate cu simularea atasarii lui pe placuta Arduino

Simulare atasare rfid pe Arduino UNO

Schema Electrica

Software Design

Mediul de dezvoltare folosit

Arduino IDE

Biblioteci folosite

Descriere implementare

La inceput sunt initializate toate componentele si toti pinii pe care acestia ii folosesc, dar si cateva variabile ajutatoare codului. In functia setup() se initiaza MFRC522-ul, LCD-ul, servo-ul, senzorii si buzzer-ul.

Exista 2 functii, activateDoor() si closeDoor(), ce au functionalitati similare : Acestea verifica daca usa este deja deschisa/inchisa, iar in caz afirmativ afiseaza un mesaj corespunzator pe LCD, fara sa mai actioneze servo motorul. In schimb, daca usa se afla in starea opusa comenzii cerute, atunci se va schimba unghiul servo motorului, fapt ce il va face sa se miste pentru a simula inchidrea/deschiderea unei bariere. De asemenea in acest caz se afiseaza mesaje corespunzatoare pe ecranul LCD-ului.

In funtia loop() exista 4 evenimente ce se pot intampla :

  1. Senzorul RFID detecteaza un card/tag cunoscut, moment in care va apela functia activateDoor()
  2. Senzorul cu infra rosu detecteaza apasarea unui buton : Se compara valoarea semnalului primit cu semnalele cunoscute de acesta (definite cu ON si OFF) iar in caz de egalitate se apeleaza una dintre cele doua functii de actionare a zavorului. Altfel, semnalul este ignorat iar programul isi continua executia.
  3. Este detectata apasarea unei chei de pe tastatura : Initial pe LCD este afisat mesajul ”Enter password:”. In momentul in care se introduc cifre de la tastatura acestea vor fi si ele afisate pe LCD, sub mesajul anterior mentionat. Pentru deschiderea usii este necesara introducerea unui cod de 4 cifre (definit de mine 1579). In cazul introducerii unei serii de 4 cifre diferite de codul presetat se va afisa un mesaj corespunzator, se va sterge codul introdus de pe LCD si nu se va actiona miscarea servo motorului. In caz ca a fost introdus codul corect se apela din nou functia activateDoor().
  4. Usa este deschisa si nu s-a mai produs niciun alt eveniment dintre cele 3 prezentate anterior in ultimele cateva secunde : In acest moment usa se va inchide automat, pentru a ne asigura ca nu va ramane deschisa in permanenta.

Rezultate Obţinute

Demo

Accesati acest link pentru a viziona demo-ul

Concluzii

Am reusit sa implementez aproape tot ce mi-am propus. Un singur element lipseste din proiectul initial gandit de mine, si anume Real Time Clock-ul. Din insuficienta de pini de intrare am decis sa elimin aceasta componenta ce oricum nu era neaparat necesara.
Sunt foarte multumita de rezultat, a fost un proiect interesant ce m-a invatat lucruri noi. A fost primul meu proiect indreptat mai mult spre partea hardware si consider ca am ramas cu multe informatii utile in urma acestuia. Am fost foarte sceptica cand am auzit ce trebuie sa facem deoarece nu il consideram neaparat util insa sa vezi un rezultat fizic, gandit, conceput si finalizat de propria persoana este un boost de mandrie si incredere.

Download

Cod sursa : gardian-automat.zip

Jurnal

Bibliografie/Resurse

Modul IR-telecomanda
Modul RFID
Servo motor
LCD I2C
Buzzer
Keypad
Simulare Tinkercad
Arduino

Export to PDF