Differences

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

Link to this comparison view

pm:prj2022:fstancu:snake [2022/05/23 14:04]
stefan_madalin.toma [Hardware Design]
pm:prj2022:fstancu:snake [2022/05/31 17:19] (current)
stefan_madalin.toma
Line 13: Line 13:
 Fiecare element consumat crește lungimea șarpelui, astfel încât evitarea coliziunii cu sine devine progresiv mai dificilă.\\ Fiecare element consumat crește lungimea șarpelui, astfel încât evitarea coliziunii cu sine devine progresiv mai dificilă.\\
  
-<​hidden>​ 
-<note tip> 
-Prezentarea pe scurt a proiectului vostru: 
-  * ce face 
-  * care este scopul lui 
-  * care a fost ideea de la care aţi pornit 
-  * de ce credeţi că este util pentru alţii şi pentru voi 
-</​note>​ 
-</​hidden>​ 
 ===== Descriere generală ===== ===== Descriere generală =====
  
Line 36: Line 27:
 {{:​pm:​prj2022:​fstancu:​schema_bloc_snake.png?​700|}} {{:​pm:​prj2022:​fstancu:​schema_bloc_snake.png?​700|}}
  
-<​hidden>​ +===== Hardware Design =====
-:!: TODO+
  
-<note tip> +==== Bill of Materials ​====
-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ă. +
-Exemplu de schemă bloc: http://​www.robs-projects.com/​mp3proj/​newplayer.html +
-</​note>​ +
-</​hidden>​ +
-===== Hardware Design =====+
 ^ Denumire Piesa         ​                                                                                                   ^ Cantitate ^ ^ Denumire Piesa         ​                                                                                                   ^ Cantitate ^
 | Arduino Uno       ​  ​  ​  ​                                                                                             |  1      | | Arduino Uno       ​  ​  ​  ​                                                                                             |  1      |
Line 54: Line 39:
  
  
 +==== Schema Breadboard ====
 {{:​pm:​prj2022:​fstancu:​schema_breadboard_snake.png?​700|}} {{:​pm:​prj2022:​fstancu:​schema_breadboard_snake.png?​700|}}
 +==== Schema Electrica ====
 {{:​pm:​prj2022:​fstancu:​schema_electrica_snake.png?​700|}} {{:​pm:​prj2022:​fstancu:​schema_electrica_snake.png?​700|}}
  
- 
-<​hidden>​ 
-:!: TODO 
-<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>​ 
-</​hidden>​ 
  
  
 ===== Software Design ===== ===== Software Design =====
-:!TODO + 
-<note tip> +Medii de dezvoltare: 
-Descrierea codului aplicaţiei ​(firmware): +  * Arduino IDE, VS Code 
-  * mediu de dezvoltare ​(if any(e.g. AVR Studio, CodeVisionAVR) +  * Fritzing - Schema electrica 
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +  * Creately - Schema bloc 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi + 
-  * (etapa 3surse şi funcţii implementate + 
-</​note>​+Se folosesc urmatoarele 2 librarii
 +  * LEDMatrixMagic ​ 
 +    * o versiune stripped down a librariei LedControl 
 +    * este folosita pentru interfatarea cu grid-ul de matrici led prin protocolul SPI 
 +  * Snake (librarie propriecontine implementarea claselor:  
 +      * Game  - o entitate care se ocupa de interpretarea input-ului, logica jocului de snake si rendare 
 +      ​Snake - o lista + o functie ​de inaintare pe directia "​direction"​ 
 +      * List  - implementarea unei liste simplu inlantuite 
 + 
 +Citirea si interpretarea inputului se face in functia loop(). 
 +Timer-ul 1 se ocupa cu verificarea restrictiilor jocului si automat de rendarea pe ecran la fiecare secundaProcesului de rendare a fost optimizat prin pastrarea tuturor LED-urilor aprinseAstfel singurele exceptii cand interactiunea cu interfata LEDMatrixMagic este necesara sunt:  
 +  * un nou item este generat 
 +  * la fiecare miscare a sarpelui 
 +    * casuta in care se afla coada sarpelui se stinge 
 +    * capul inainteaza intr-o noua casuta ​(exceptie cand casuta contine un item
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
-:!: TODO +<html
-<note tip+<iframe width="​720"​ height="​415"​ 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+src="​https://​www.youtube.com/​embed/​1SMQvu_6fkM">​ 
-</note>+</iframe> 
 +</​html>​ 
 ===== Concluzii ===== ===== Concluzii =====
 :!: TODO :!: TODO
-<note tip> 
-</​note>​ 
  
 ===== Download ===== ===== Download =====
-:!: TODO + 
-<note warning> +[[https://github.com/​Stefan9283/​Snake|Repo Cod]] \\ 
-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ă ;-)+{{:pm:prj2022:fstancu:snake-sourcecode.zip|Source Code}} 
-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>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-:!: TODO + 
-<​note>​ +[[https://​www.youtube.com/​watch?​v=2kr5A350H7E&​ab_channel=SparkFunElectronics|Video despre Timer Interrupts]] \\ 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware+[[https://​datasheets.maximintegrated.com/​en/​ds/​MAX7219-MAX7221.pdf|Datasheet Matrici LED]] \\ 
-</note>+[[http://​wayoda.github.io/​LedControl/​|Documentatie LedControl]] 
pm/prj2022/fstancu/snake.1653303868.txt.gz · Last modified: 2022/05/23 14:04 by stefan_madalin.toma
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