This shows you the differences between two versions of the page.
pm:prj2024:amocanu:maria.marinescu1501 [2024/05/05 20:29] maria.marinescu1501 [Hardware Design] |
pm:prj2024:amocanu:maria.marinescu1501 [2024/05/25 20:51] (current) maria.marinescu1501 |
||
---|---|---|---|
Line 3: | Line 3: | ||
<note tip> | <note tip> | ||
- | * Proiectul consta intr-un sistem de securitate clasic in care este permis accesul intr-o anumita incapere pe baza unui cod(parola) formata din 4 cifre. Pe baza codului introdus se vor aprinde diferite LED-uri si vor aparea mesaje pe ecran. Scopul proiectului este de a crea un sistem de securitate cat mai apropiat de realitate ce poate fi utilizat in viata de zi cu zi. Utilitatea acestui proiect provine din nevoia de siguranta si securitate in propriile locuinte din cauza societatii in care traim, aceasta fiind si ideea de la care a pornit proiectul. | + | * In ziua de astazi unul dintre cele mai importante lucruri de facut este sa ne ocupam atat de siguranta personala, cat si de cea a bunurilor noastre. Pentru a usura acest lucru exista solutia de a instala un sistem de securitate cu parola exact la intrarea in locuinta (sau incapere) ce ne va proteja de posibili infractori. |
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
<note tip> | <note tip> | ||
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | Proiectul consta intr-un sistem de securitate clasic in care este permis accesul intr-o anumita incapere pe baza unui cod(parola) formata din 4 litere. Astfel, intr-un timp de 15 secunde trebuie introdusa parola corecta. Daca aceasta nu a fost introdusa in timpul oferit, pe ecran de va afisa mesajul **"ACCESS DENIED"** si se va aprinde un LED rosu. Daca parola a fost introdusa corect se va aprinde un LED verde, iar pe ecran va aparea **"ACCESS GRANTED"**. |
+ | Exista totusi si o alta functionalitate ce declanseaza aprinderea unui LED galben, si anume: | ||
+ | *parola este "AAAA" se apasa butonul "B" -> se aprinde. | ||
+ | *parola este "AAAA" se apasa butonul "A" de doua ori consecutiv -> nu se aprinde; a treia apasare este orice inafara de "A" -> se aprinde. | ||
+ | |||
+ | Scopul proiectului este de a crea un sistem de securitate cat mai apropiat de realitate ce poate fi utilizat in viata de zi cu zi. Utilitatea acestui proiect provine din nevoia de siguranta si securitate in propriile locuinte din cauza societatii in care traim, aceasta fiind si ideea de la care a pornit proiectul. | ||
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | ||
</note> | </note> | ||
Line 18: | Line 22: | ||
Piesele utilizate: | Piesele utilizate: | ||
- | * Arduino uno | + | * Arduino Uno |
* LCD display cu I2C | * LCD display cu I2C | ||
* 4 butoane | * 4 butoane | ||
Line 25: | Line 29: | ||
* Breadboard | * Breadboard | ||
</note> | </note> | ||
+ | Schema electrica | ||
+ | {{:pm:prj2024:amocanu:security_system_with_password.pdf?300x400}} | ||
+ | |||
+ | {{:pm:prj2024:amocanu:e27f3a52-052a-4b17-adc2-656dd4386f7f.jpeg?1000x400}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 30: | Line 38: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | Pentru partea de software am folosit **Arduino IDE**, unde am utilizat **LiquidCrystal_I2C**. Codul este imparit in 3 functii: |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | *setup(): se initializeaza LCD-ul cu mesajul de inceput si se seteaza butoanele si LED-urile ca inputs si outputs. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | *loop(): se verifica ce butoane sunt apasate cu functia checkButton, se decrementeaza timer-ul si in functie de apasarea butoanelor se afiseaza si se pornesc mesajele respectiv LED-urile corespunzatoare. |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | *checkButton(button): se verifica daca butonul apasat este in conformitate cu parola, daca butoanele sunt apasate in ordinea corecta se aprinde la final LED-ul verde si se afiseaza mesajul. Daca un buton apasat nu corespunde parolei se va aprinde LED-ul galben. |
- | * (etapa 3) surse şi funcţii implementate | + | |
</note> | </note> | ||
Line 40: | Line 48: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Sistemul functioneaza conform asteptarilor, LED-urile se aprind cum si cand trebuie, mesajele se afiseaza pe display in conformitate cu parola introdusa si cu timer-ul. |
+ | |||
+ | {{:pm:prj2024:amocanu:whatsapp_image_2024-05-25_at_8.31.13_pm.jpeg?300x400|}} | ||
+ | {{:pm:prj2024:amocanu:whatsapp_image_2024-05-25_at_8.31.14_pm.jpeg?300x400|}} | ||
+ | {{:pm:prj2024:amocanu:whatsapp_image_2024-05-25_at_8.31.15_pm.jpeg?300x400|}} | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | <note tip> | ||
+ | A fost un proiect foarte interesant si util, din punctul meu de vedere. Asamblarea si gasirea pieselor corespunzatoare a fost partea mai dificila, gasirea LCD-ului fiind problema cea mai mare:). | ||
+ | </note> | ||
===== Download ===== | ===== Download ===== | ||
<note warning> | <note warning> | ||
- | 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ă ;-). | + | {{:pm:prj2024:amocanu:securitysystem.zip|}} |
- | 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 ===== | ||
- | |||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
</note> | </note> | ||
Line 62: | Line 70: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://www.geeksforgeeks.org/how-to-interface-i2c-lcd-display-with-arduino/ |
+ | |||
+ | https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/ | ||
</note> | </note> | ||
<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> | ||