Shopping Safe Box

Introducere

Proiectul consta in implementarea unui mecanism de seif/dulap, precum cele care se gasesc la intrarea in supermarket-uri.Se introduce un cod format din 4 cifre pentru a bloca dulapul,iar apoi se poate debloca folosind codul setat precedent.In cazul in care codul este gresit de 3 ori,va porni o alarma, iar sistemul va fi blocat pana cand paznicul supermarketului sau un angajat il va debloca folosind un card sau breloc de acces.Scopul acestui proiect este unul generic, si anume acela de a depozita si a pastra in siguranta diverse obiecte pentru a nu mai intra cu ele in magazin.

Descriere generală

Utilizatorul va inchide usa si va seta codul de acces de 4 cifre, ce va actiona un servomotor ce va bloca usa si va afisa pe un ecran LCD un mesaj corespunzator.Apoi, pentru a debloca dulapul, va trebui introdus codul setat anterior, pentru a actiona servomotorul si a debloca usa.In cazul in care codul este introdus gresit de 3 ori, se va porni un buzzer si un led rosu, se va afisa un mesaj sugestiv pe ecranul LCD, iar sistemul se va bloca.Pentru a se debloca sistemul, se va folosi un card sau breloc RFID care va fi citit de RFID RC522,astfel resetandu-se si parola.

Hardware Design

Lista Componente

- Arduino UNO R3
- LCD 16 x 2 I2C
- Keypad 4 x 4
- Micro servomotor
- Piezo
- Fire
- conector baterie 9V cu mufa
- baterie 9V
- LED rosu
- cutie plastic
- Modul RFID RC522
- card si breloc RFID
- breadboard/alta placa

Conexiune piese cu Arduino: Keypad 4×4:

  • Row 1 → D8
  • Row 2 → D7
  • Row 3 → D6
  • Row 4 → D5
  • Column 1 → D4
  • Column 2 → D3
  • Column 1 → D2

RFID RC522:

  • 3.3V → 3.3V
  • GND → GND
  • RST → D9
  • SDA → D10
  • MOSI → D11
  • MISO → D12
  • SCK → D13

Buzzer:

  • - → LED(+)
  • + → A1

LED:

  • + → Buzzer(-)
  • - → GND

Servo motor SG90:

  • Signal → A0
  • Power → 5V
  • GND → GND

LCD 16×2 I2C:

  • SCL → A5
  • SDA → A4
  • Vcc → 5V
  • GND → GND

Software Design

Biblioteci folosite:
  • Servo.h
  • LiquidCrystal_I2C.h
  • Keypad.h
  • SPI.h
  • MFRC522.h
  • Wire.h
Funcții implementate:
  • void setup():
    • Setez pinul pentru buzzer si il pornesc;
    • Setez pinul pentru servomotor si il fixez la o pozitie initiala;
    • Initializez LCD si lumina lui;
    • Pornesc protocolul SPI si initializez modulul RFID RC522.
  • void loop():
  • Verific cu variabila isPasswordSet daca parola a fost setata:
  1. cat timp parola nu este setata, o setez folosind functia set password, verificand si daca are exact 4 caractere,in plus afisez pe lcd mesaje corespunzatoare;
  2. daca parola are formatul bun, se blocheaza servomotorul.
  • Apoi dupa ce s-a setat parola, se va incerca deblocarea servomotorului prin introducerea parolei setate;
  • Dupa aceea, verific daca codul intrdus este acelasi cu cel setat:
  1. in caz afirmativ, se deblocheaza servomotorul si se afiseaza pe LCD un mesaj sugestiv;
  2. in caz negativ, numarul de incercari scade si se reia procesul;
  3. daca numarul de incercari a ajuns la zero, se va aprinde un led rosu si va suna un buzzer ssfe box-ul blocandu-se si nemaipermitand introducerea unei noi parole;
  4. safe box-ul va fi blocat pana la validarea unui card la modulul RFID,daca acest modul citeste cardul servomotorul se va debloca, iar apoi se poate seta o parola noua.
  • void buzzerOn():
  • Buzzer-ul incepe sa sune.
  • void buzzerOff():
  • Buzzer-ul se opreste din sunat.
  • void setPassword():
  • Setez parola,introducand exact 4 caractere in sirul de caractere pentru parola, afisand pe LCD o * atunci cand se primeste un caracter.
  • void lockServo():
  • Efectuez miscarea progresiva a servomotorului pentru a bloca safe box-ul.
  • void unlockServo():
  • Efectuez miscarea progresiva a servomotorului pentru a debloca safe box-ul.

Rezultate Obţinute

Concluzii

In acest proiect, am observat cum se poate programa o placuta Arduino pentru a rezolva probleme din viata cotidiana, precum seiful ce poate fi gasit la intrarea in diverse magazine.In plus, am inteles mai bine cum se foloseste un servomotor,un buzzer si modulul RFID RC522, ce are foarte multe utilizari, de la obisnuitul interfon la cartele de acces. De-a lungul acestui proiect, consider ca am folosit notiuni din laboratorul 1 (UART) pentru a face debugging pentru setarea parlei si LCD;notiuni din laboratorul 3, parte de PWM, deoarece am folosit servomotorul;notiuni din laboratorul 5 cu SPI, deoarece am folosit modulul RFID RC522 ce se bazeaza pe protocolul SPI si notiuni din laboratorul 6 I2C, deoarece am folosit un LCD cu modul I2C.

Video cu simularea proiectului:https://youtu.be/UMDtQTFe7b8

Download

In aceasta arhiva este codul Arduino si un video cu functionarea safe box-ului. 336ca_nicolae_alexandru-dimitrie_pmproj.zip

Bibliografie/Resurse

Export to PDF

pm/prj2023/avaduva/shoppingsafebox.txt · Last modified: 2023/05/29 01:20 by anicolae2406
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