Differences

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

Link to this comparison view

pm:prj2024:rpascale:124159 [2024/05/15 09:51]
iulia.mihaicuta [Hardware Design]
pm:prj2024:rpascale:124159 [2024/05/27 18:26] (current)
iulia.mihaicuta [Software Design]
Line 76: Line 76:
 ==DataSheet CD4094BE== ==DataSheet CD4094BE==
 {{:​pm:​prj2024:​rpascale:​img_0374.jpeg?​500|}} {{:​pm:​prj2024:​rpascale:​img_0374.jpeg?​500|}}
 +
 +----
 +
 +===Implementare Hardware===
 +{{:​pm:​prj2024:​rpascale:​img_0373.jpeg?​800|}}
  
 ===== Software Design ===== ===== Software Design =====
  
 +===Declarații și inițializări===
  
-<note tip> +**Biblioteci** 
-Descrierea codului aplicaţiei (firmware):​ +  * //LCD-I2C.h// - folosită pentru controlul unui ecran LCD prin protocolul I2C 
-  ​mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +  * //Wire.h//
-  * 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>+
  
-===== Rezultate Obţinute =====+**Definirea pinilor** 
 +  * //A0// - pin butoane joc 
 +  * //A1// - pin butoane meniu 
 +  * //2// - pin buzzer 
 +  * //3//, //4//, //5//, //6// - pini led-uri ​
  
-<note tip> +**Variabile de stare** 
-Care au fost rezultatele obţinute ​în urma realizării proiectului vostru+  * //level// - nivelul curent al jocului 
-</note>+  * //​levelInput[6]//​ - inputul utilizatorului pentru secvența de culori 
 +  * //​position//​ - poziția curentă a inputului utilizatorului 
 + 
 +===Funcții== 
 + 
 +  * //Setup// 
 +    * Configurează modurile pinurilor. 
 +    * Inițializează LCD-ul. 
 +    * Afișează mesajul de start pe LCD. 
 +    * Pregătește caracterele personalizate pentru LCD. 
 +    * Inițializează afișajul 7-segmente. 
 +    * Setează starea inițială a jocului. 
 + 
 + 
 +  * //Show LCD Info// 
 +    * Afișează informațiile pe LCD, inclusiv caracterele personalizate 
 + 
 +  * //Play Buzzer// 
 +    * Redă diferite tonuri pentru culori diferite folosind buzzerul. 
 + 
 +  * //Play Level// 
 +    * Redă modelul generat folosind LED-uri și buzzerul 
 +    * Ajustează viteza ​în funcție de dificultate. 
 + 
 +  * //Loop// 
 +    * Ajustare Dificultate:​ Crește sau scade dificultatea pe baza apăsării butoanelor
 +    * Replay: Rejucă modelul curent dacă butonul de rejucare este apăsat. 
 + 
 +  * //Display Digit// 
 +    * Actualizează afișajul 7-segmente pentru a arăta dificultatea curentă. 
 + 
 +  * //Fluxul Detaliat//​ 
 +    * Setup: Inițializează componentele și afișează mesajul de start. 
 +    * Loop: 
 +      * Controlul Dificultății:​ Ajustează dificultatea și o afișează pe afișajul 7-segmente. 
 +      * Rejucare Model: Rejucă modelul când butonul de rejucare este apăsat. 
 +      * Generarea Modelului: Generează și redă un nou model dacă nu se așteaptă nicio intrare. 
 +      * Intrarea Utilizatorului:​ Înregistrează intrarea utilizatorului și oferă feedback. Compară intrarea cu modelul când intrarea este completă. 
 +      * Feedback: Oferă feedback de succes sau eroare în funcție de corectitudinea intrării și actualizează starea jocului în mod corespunzător. 
 +      * Jocul continuă să ruleze, actualizând modelul și verificând intrarea utilizatorului până când dispozitivul este oprit sau resetat. 
 + 
 + 
 +===Surse=== 
 +[[https://​github.com/​iuliamihaicuta/​Memory-game|repo github]] 
 + 
 +---- 
 + 
 +Codul a fost implementat și testat folosind Arduino IDE
  
-===== Concluzii =====+===== Rezultate Obţinute ​====
  
-===== Download =====+Am creat un joc interactiv, prin care o persoană își poate antrena memoria. De asemenea jocătorul poate să își dea seama daca se bazează mai mult pe memoria vizuală sau auditivă
  
-<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ă ;-). 
  
-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 =====
Line 115: Line 164:
 **12.05.2024** - adăugare listă piese și schemă pentru butoane, led-uri și buzzer **12.05.2024** - adăugare listă piese și schemă pentru butoane, led-uri și buzzer
  
-**TODO** - completarea secțiunii //Hardware Design//+**14.05.2024** - completarea secțiunii //Hardware Design//
  
-**TODO** - completarea secțiunii //Software Design//+**22.05.2024** - completarea secțiunii //Software Design//
  
-**TODO** - completarea secțiunii //​Concluzii//​ 
 </​note>​ </​note>​
  
pm/prj2024/rpascale/124159.1715755915.txt.gz · Last modified: 2024/05/15 09:51 by iulia.mihaicuta
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