Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:avaduva:shoppingsafebox [2023/05/21 19:38]
anicolae2406 [Introducere]
pm:prj2023:avaduva:shoppingsafebox [2023/05/29 01:20] (current)
anicolae2406 [Software Design]
Line 27: Line 27:
  
 {{:​pm:​prj2023:​avaduva:​i01_finalpmhrdw.jpeg|}} {{:​pm:​prj2023:​avaduva:​i01_finalpmhrdw.jpeg|}}
-===== Software Design ===== 
- 
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei (firmware)+Conexiune piese cu Arduino: 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) + ​Keypad 4x4
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +  * Row 1 -> D8 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +  * Row 2 -> D7 
-  * (etapa 3) surse şi funcţii implementate +  * Row 3 -> D6 
-</note>+  * Row 4 -> D5 
 +  * Column 1 -> D4 
 +  * Column 2 -> D3 
 +  * Column 1 -D2
  
-===== Rezultate Obţinute =====+ RFID RC522: 
 +  * 3.3V -> 3.3V 
 +  * GND -> GND 
 +  * RST -> D9 
 +  * SDA -> D10 
 +  * MOSI -> D11 
 +  * MISO -> D12 
 +  * SCK -> D13 
 + 
 + ​Buzzer:​ 
 +  * - -> LED(+) 
 +  * + -> A1 
 + 
 + ​LED:​ 
 +  * + -> Buzzer(-) 
 +  * - -> GND
  
-<note tip+ Servo motor SG90: 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+  * Signal -A0 
 +  * Power -> 5V 
 +  * GND -> GND 
 + 
 + LCD 16x2 I2C: 
 +  * SCL -> A5 
 +  * SDA -> A4 
 +  * Vcc -> 5V 
 +  * GND -> GND
 </​note>​ </​note>​
 +===== Software Design =====
  
-===== Concluzii =====+== Biblioteci folosite: ​== 
 +  * Servo.h 
 +  * LiquidCrystal_I2C.h 
 +  * Keypad.h 
 +  * SPI.h 
 +  * MFRC522.h 
 +  * Wire.h
  
-===== Download =====+== 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: 
 +     -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;​ 
 +     -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: 
 +    -in caz afirmativ, se deblocheaza servomotorul si se afiseaza pe LCD un mesaj sugestiv; 
 +    -in caz negativ, numarul de incercari scade si se reia procesul; 
 +    -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; 
 +    -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.
  
-<note warning>​ +  * **void buzzerOff()**: 
-O arhivă ​(sau mai multe dacă este cazulcu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+  * Buzzer-ul se opreste din sunat.
  
-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 Alin331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +  ​* **void setPassword()**: 
-</​note>​+  ​Setez parola,introducand exact 4 caractere in sirul de caractere pentru parola, afisand pe LCD o atunci cand se primeste un caracter.
  
-===== Jurnal =====+  * **void lockServo()**:​ 
 +  * Efectuez miscarea progresiva a servomotorului pentru a bloca safe box-ul.
  
-<note tip> +  * **void unlockServo()**:​ 
-Puteți avea și secțiune ​de jurnal în care să poată urmări asistentul ​de proiect ​progresul proiectului+  * Efectuez miscarea progresiva a servomotorului pentru a debloca safe box-ul. 
-</note>+    
 + 
 +===== Rezultate Obţinute ===== 
 +{{:​pm:​prj2023:​avaduva:​i01_cutie_int.jpeg|}} 
 +{{:​pm:​prj2023:​avaduva:​img01_cutie.jpeg|}} 
 + 
 +===== Concluzii ===== 
 +In acest proiect, am observat cum se poate programa ​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. 
 +{{:​pm:​prj2023:​avaduva:​336CA_Nicolae Alexandru-Dimitrie_PMProj.zip|}}
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * Aplicatia in care s-a realizat schema bloc: [[https://​app.diagrams.net/​]] 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  ​Aplicatia in care am simulat proiectul fara modulul RFID RC522: [[https://​www.tinkercad.com/​]] 
-</note> +  ​Componente: [[https://​emag.ro/​]] 
 +  ​Folosire modul RFID RC522: [[https://​lastminuteengineers.com/​how-rfid-works-rc522-arduino-tutorial/​]] 
 +  * Folosire LCD 16X2 cu modul I2C: [[https://​lastminuteengineers.com/​i2c-lcd-arduino-tutorial/​]] 
 +  * Arduino IDE, versiunea 2.1.0: [[https://​www.arduino.cc/​en/​software]]
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2023/avaduva/shoppingsafebox.1684687109.txt.gz · Last modified: 2023/05/21 19:38 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