This shows you the differences between two versions of the page.
pm:prj2024:fstancu:aconstantinescu0606 [2024/05/13 11:29] aconstantinescu0606 |
pm:prj2024:fstancu:aconstantinescu0606 [2024/05/24 19:25] (current) aconstantinescu0606 |
||
---|---|---|---|
Line 30: | Line 30: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | + | |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
- | <note tip> | + | |
Componente Hardware | Componente Hardware | ||
- | * ARDUINO NANO ATmega328 | + | * ARDUINO NANO ATmega328 (https://ro.farnell.com/arduino/a000005/arduino-nano-evaluation-board/dp/1848691) |
- | * Numpad | + | * Numpad (https://www.sigmanortec.ro/Tastatura-membrana-Keypad-4x4-p136254812) |
- | * Display LCD (2x16) | + | * Display LCD (2x16) (https://www.sigmanortec.ro/LCD-1602-p125700685?gad_source=1&gclid=EAIaIQobChMIg-rS2PmbhQMVRouDBx0V8QNOEAQYASABEgIOBfD_BwE) |
- | * Servomotor SG90 | + | * modul I2C (https://www.sigmanortec.ro/Modul-interfata-I2C-LCD-1602-2004-p125700577?gad_source=1&gclid=EAIaIQobChMIvY2R7PmbhQMVnENBAh0HogG6EAQYASABEgLjFfD_BwE) |
- | * Buzzer | + | * Servomotor SG90 (https://www.sigmanortec.ro/Servomotor-SG90-limit-switch-p141662062?gad_source=1&gclid=EAIaIQobChMIsaDHjPmbhQMVW5CDBx1MtQ0IEAQYAiABEgKTnfD_BwE) |
- | * Breadboard | + | * Buzzer (https://www.sigmanortec.ro/Buzzer-activ-5v-p126421597) |
+ | * Breadboard (https://www.sigmanortec.ro/Breadboard-400-puncte-p129872825) | ||
* Fire | * Fire | ||
* Cutie din lemn + balamale + zavor | * Cutie din lemn + balamale + zavor | ||
- | </note> | + | Schema electrica |
{{:pm:prj2024:fstancu:screenshot_2024-05-13_at_11.26.22.png?600|}} | {{:pm:prj2024:fstancu:screenshot_2024-05-13_at_11.26.22.png?600|}} | ||
Line 56: | Line 50: | ||
<note tip> | <note tip> | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Mediu de dezvoltare folosit: Arduino IDE |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * Librării folosite: |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * LiquidCrystal_I2C |
- | * (etapa 3) surse şi funcţii implementate | + | * Servo |
+ | * Keypad | ||
+ | * Password | ||
</note> | </note> | ||
+ | |||
+ | * open este un bulean ce retine daca ușa este deschisă sau nu. In funcție de valoarea acestuia, este un afișat un anumit mesaj pe ecran. | ||
+ | * Cu ajutorul lui key, se face legătură intre keypad si cod. In key este reținut caracterul ce a fost apăsat pe keypad. Daca acesta este o litera, avem următoarele scenarii: | ||
+ | * A - in cazul in care este apăsată litera A si ușa este deschisă, zăvorul se închide | ||
+ | * C - in cazul in care scriem o parola, si ne dam seama ca nu am apăsat tasta pe care doream sa o apăsam, putem șterge parola înregistrată pana in momentul respectiv, si sa o luam de la capăt | ||
+ | * D - in cazul in care este apăsată litera D, se considera ca utilizatorul a dat submit la o parola. In cazul in care parola este corecta, zăvorul se deschide, altfel, un bipăit si un mesaj pe ecran vor arată ca parola nu este corecta. La 3apasari consecutive ale lui D, fără a face o submise corecta a parolei, câteva secunde nu se poate introduce o noua submise | ||
+ | |||
+ | |||
+ | |||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 69: | Line 74: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | A fost interesant sa lucrez la acest proiect, pentru ca a fost singura tema pe care am avut-o pana acum la facultate care sa combine software-ul cu hardware-ul. E plăcut sa vezi ca după ce lucrezi la ceva, rămâi la final cu un obiect funcțional si pe care chiar sa îl poți folosi la ceva util =) | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2024:fstancu:ArhivaPM.zip|}} |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | 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 Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== |