Differences

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

Link to this comparison view

pm:prj2023:drtranca:madalina.frant [2023/05/29 19:06]
madalina.frant [Descriere generală]
pm:prj2023:drtranca:madalina.frant [2023/05/29 22:54] (current)
madalina.frant [Software Design]
Line 6: Line 6:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Desfășurarea jocului este următoarea:​ se vor afișa cele N (inițial 4) numere și se va folosi joystick-ul pentru a selecta pozițiile corespunzătoare pe ecran. În cazul în care poziția unui număr este selectată corect se va aprinde LED-ul în culoarea verde, iar în cazul unei greșeli în culoarea roșu. Sunt permise 3 greșeli per rundă. Pentru a trece la următoarea rundă, respectiv pentru a relua runda în cazul depășirii numărului maxim de greșeli se va apăsa butonul. Jocul permite 3 runde terminate greșit, după care acesta se încheie. Jocul se consideră câștigat după terminarea corectă a ultimei runde, când N este 9. La finalul jocului se afișează timpul mediu de răspuns al jucătorului. Se poate începe un nou joc prin apăsarea butonului.+Desfășurarea jocului este următoarea:​ se vor afișa cele N (inițial 4) numere și se va folosi joystick-ul pentru a selecta pozițiile corespunzătoare pe ecran. După selectarea poziției numărului 1, numerele vor dispărea (vor fi acoperite). În cazul în care poziția unui număr este selectată corect se va aprinde LED-ul în culoarea verde, iar în cazul unei greșeli în culoarea roșu. Sunt permise 3 greșeli per rundă. Pentru a trece la următoarea rundă, respectiv pentru a relua runda în cazul depășirii numărului maxim de greșeli se va apăsa butonul. Jocul permite 3 runde terminate greșit, după care acesta se încheie. Jocul se consideră câștigat după terminarea corectă a ultimei runde, când N este 9. La finalul jocului se afișează timpul mediu de răspuns al jucătorului. Se poate începe un nou joc prin apăsarea butonului.
  
 Schema bloc: Schema bloc:
Line 29: Line 29:
 ===== Software Design ===== ===== Software Design =====
  
 +A fost folosit mediul de dezvoltare Arduino IDE.
  
-<note tip> +Pentru interacționarea cu LCD-ul s-a folosit biblioteca LiquidCrystal_I2C.
-Descrierea codului aplicaţiei (firmware):​ +
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
 +Au fost utilizate următoarele noțiuni din cadrul laboratoarelor:​
 +  * întreruperi:​ pentru detectarea apăsării butoanelor
 +  * timer: pentru măsurarea timpului
 +  * I2C: pentru comunicarea cu LCD-ul ​
 +
 +Codul scris este prezentat în cadrul fișierului README.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Începutul unei runde:
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
-===== Concluzii =====+{{:​pm:​prj2023:​drtranca:​inceput_runda.jpeg?​300|}}
  
-===== Download =====+După ce se apasă numărul 1:
  
-<note warning>​ +{{:pm:​prj2023:​drtranca:​dupa_apasare_1.jpeg?300|}}
-O arhivă (sau mai multe dacă este cazul) cu 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ă ;-).+
  
-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**. +Finalul rundei dacă s-au selectat toate pozițiile numerelor ​în ordine:
-</​note>​+
  
-===== Jurnal =====+{{:​pm:​prj2023:​drtranca:​runda_corecta.jpeg?​300|}}
  
-<note tip> +Finalul rundei dacă au fost realizate 3 greșeli: 
-Putețavea și secțiune de jurnal ​în care să poată urmări asistentul ​de proiect progresul proiectului+ 
-</note>+{{:​pm:​prj2023:​drtranca:​runda_gresita.jpeg?​300|}} 
 + 
 +Finalul jocului dacă s-a realizat corect ultima rundă: 
 + 
 +{{:​pm:​prj2023:​drtranca:​joc_corect.jpeg?​300|}} 
 + 
 +Finalul jocului dacă 3 runde au fost realizate în mod greșit: 
 + 
 +{{:​pm:​prj2023:​drtranca:​joc_gresit.jpeg?​300|}} 
 + 
 + 
 +===== Concluzii ===== 
 + 
 +Realizarea acestui joc a fost o activitate interesantă,​ care a presupus aplicarea unor concepte învățate în cadrul laboratorului. De exemplu, inițial, timpul nu era măsurat corect deoarece prescaler-ul timer-ului ​avea setată ​valoare prea mică, însă dupa modificarea acestuia, s-au obținut rezultate corecte. De asemenea, ​în cadrul întreruperii pentru butonul joystick-ului a fost nevoie ​să se trateze o singură apăsare de buton, printr-o metodă de debouncing. Astfel, proiectul final prezintă toate funcționalitățile propuse
 +===== Download ===== 
 + 
 +{{:​pm:​prj2023:​drtranca:​memory_test.zip|}} 
 + 
 +https://​github.com/​MadalinaFrant/arduino-memory-test
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * Conectare componente și interacționarea cu acestea: https://​arduinogetstarted.com/​tutorials 
-Listă ​cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * Laboratoare:​ 
-</note>+    * lucrul ​cu registre: https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab0-2022 
 +    ​întreruperi:​ https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab2-2023 
 +    ​timere: https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023 
 +    ​I2C: https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab6-2022 
 +  ​Pinout: https://​ocw.cs.pub.ro/​courses/​_media/​pm/​lab/​arduino-uno-pinout-diagram.png?​w=600&​tok=b3c0e1 
 +  ​Datasheet: https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf 
 + 
 +  ​Studiu: https://www.youtube.com/​watch?​v=zsXP8qeFF6A&​ab_channel=BBCEarth 
 +  * Idee funcționalitate joc: https://​humanbenchmark.com/​tests/chimp
  
 <​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/drtranca/madalina.frant.1685376393.txt.gz · Last modified: 2023/05/29 19:06 by madalina.frant
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