Differences

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

Link to this comparison view

pm:prj2021:agrigore:tetris [2021/05/24 02:21]
sergiu.toader
pm:prj2021:agrigore:tetris [2021/05/24 09:26] (current)
sergiu.toader [Hardware Design]
Line 17: Line 17:
 === Schema bloc === === Schema bloc ===
  
-{{ :​pm:​prj2021:​agrigore:​tetris_schema_bloc.png |}}+{{ :​pm:​prj2021:​agrigore:​tetris_schema_bloc.jpg |}}
  
 Arduino ​ Arduino ​
Line 46: Line 46:
  
 ===== Hardware Design ===== ===== Hardware Design =====
-{{ :​pm:​prj2021:​agrigore:​schema_tetris_img.png?800 |}}+{{ :​pm:​prj2021:​agrigore:​schema_tetris_img.jpg?800 |}} 
 + 
 +{{ :​pm:​prj2021:​agrigore:​tetris_schema_electrica.jpg?​600 ​|}}
  
 Conectarea LCD-ului a presupus conectarea celor 8 pini ai LCD-ului la pinii Arduino. Conectarea LCD-ului a presupus conectarea celor 8 pini ai LCD-ului la pinii Arduino.
Line 69: Line 71:
 Buzzerul s-a conectat cu un pin la GND si cu un pin la pinul 5 al placii Arduino. Buzzerul s-a conectat cu un pin la GND si cu un pin la pinul 5 al placii Arduino.
  
-Conectarea componentelor a fost usurata de utilizarea unui Breadboard, Astfel, semnalul GND a fost adus aproape de componentele de input output pentru compactarea si reducerea numarului de fire utilizate.+Conectarea componentelor a fost usurata de utilizarea unui Breadboard, Astfel, semnalul GND a fost adus aproape de componentele de input si output pentru compactarea si reducerea numarului de fire utilizate.
  
 ===== Software Design ===== ===== Software Design =====
Line 82: Line 84:
 === Ecrane principale ale programului === === Ecrane principale ale programului ===
 Ecranul de start: Ecranul de start:
 +
 +{{ :​pm:​prj2021:​agrigore:​tetris_ecran_start.jpg?​400 |}}
 +
   * Ecranul care apare la alimentarea placii. Contine textul "​Tetris Game", urmat de "Press Start"​. Ecranul indica jucatorului butonul pe care trebuie sa apese pentru a incepe jocul. Ecranul apare din nou dupa incheierea unui joc.   * Ecranul care apare la alimentarea placii. Contine textul "​Tetris Game", urmat de "Press Start"​. Ecranul indica jucatorului butonul pe care trebuie sa apese pentru a incepe jocul. Ecranul apare din nou dupa incheierea unui joc.
  
 Ecranul principal de joc: Ecranul principal de joc:
 +
 +{{ :​pm:​prj2021:​agrigore:​tetris_ecran_joc.jpg?​400 |}}
 +
   * Este ecranul in care se desfasoara jocul. In acest mod, apar continuu piese din partea de sus a ecranului, piese care vor fi deplasate si rotite de catre jucator prin intermediul butoanelor de control. Se poate iesi imediat din acest ecran folosind butonul de START care va incheia imediat jocul si va duce din nou utilizatorul la ecranul de start.   * Este ecranul in care se desfasoara jocul. In acest mod, apar continuu piese din partea de sus a ecranului, piese care vor fi deplasate si rotite de catre jucator prin intermediul butoanelor de control. Se poate iesi imediat din acest ecran folosind butonul de START care va incheia imediat jocul si va duce din nou utilizatorul la ecranul de start.
  
 Ecranul de sfarsit de joc: Ecranul de sfarsit de joc:
 +
 +{{ :​pm:​prj2021:​agrigore:​tetris_ecran_sfarsit.jpg?​400 |}}
 +
   * Ecranul de sfarsit de joc. Acest ecran apare in momentul in care ecranul principal de joc este umplut de piese, generarea altor piese noi fiind imposibila din lipsa de spatiu. Ecranul contine textul "Game over". Buzzerul produce sunetul unei melodii in timpul afisarii ecranului. La scurt timp, utilizatorul este trimis inapoi automat la ecranul de start de unde poate incepe un joc nou.   * Ecranul de sfarsit de joc. Acest ecran apare in momentul in care ecranul principal de joc este umplut de piese, generarea altor piese noi fiind imposibila din lipsa de spatiu. Ecranul contine textul "Game over". Buzzerul produce sunetul unei melodii in timpul afisarii ecranului. La scurt timp, utilizatorul este trimis inapoi automat la ecranul de start de unde poate incepe un joc nou.
  
Line 101: Line 112:
  
 ===== Rezultate obtinute ===== ===== Rezultate obtinute =====
-  * TBD+  * Rezultatul este un joc dinamic, amuzant si care iti poate capta atentia minute bune incercand de a rezista cat mai mult fara a pierde. 
 +  * Este un joc care se aseamana foarte mult cu cele de pe gameboy-ul cu care petreceam timpul in copilarie. 
 + 
 +=== Demo === 
 +  * [[https://​youtu.be/​TzEkXviLMvE|Demo Youtube]] 
 ===== Concluzii ===== ===== Concluzii =====
-  * TBD+  * Acest proiect m-a ajutat sa dobandesc foarte multe cunostiinte noi legate de lucrul cu microcontrollere,​ in special lucrul cu SPI, cu timere si intreruperi,​ utilizarea unor biblioteci Arduino si mai ales importanta eficientizarii codului datorita resurselor limitate pe care le are placa Arduino. 
 +  * Jocul este perfect functional, functioneaza fara probleme la oricate rulari succesive. 
 +  * Ca feature-uri posibile care mai pot fi adaugate pot enumera: 
 +    * Incadrarea structurii hardware intr-o carcasa de plastic, cu ecranul si butoanele in exterior 
 +    * Adaugarea unui buton pentru accelerarea miscarii in jos
 ===== Download ===== ===== Download =====
-  * TBD+  * {{:​pm:​prj2021:​agrigore:​tetris_soft_schematic.zip|Soft & Schematic}}
  
 ===== Jurnal ===== ===== Jurnal =====
-  * 25.04: Realizare diagrama bloc, realizare pagina wiki+  * 25.04: Realizare diagrama bloc, realizare pagina ​wiki initiala 
 +  * 26.04 - 08.05: - Achizitionare componente, realizarea partii hardware, testarea conexiunii cu ecranul LCD 
 +  * 09.05 - 15.05: - Constructia si generarea pieselor, implementarea miscarii corecte, realizarea tuturor rotatiilor pentru piese. 
 +  * 16.05 - 22.05: - Coliziuni, eliminari de linii, verificare incheiere a jocului, ecran de sfarsit de joc, sunete buzzer 
 +  * 23.05: Finalizare pagina de wiki
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +  * [[https://​www.arduino.cc/​en/​Tutorial/​BuiltInExamples/​toneMelody/​]]
 +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab1-2021]]
 +  * [[https://​www.youtube.com/​watch?​v=TQ-Z1alBUME&​ab_channel=learnelectronics]]
 +  * [[https://​github.com/​electricmango/​Arduino-Music-Project/​blob/​master/​A_Theme___Tetris_with_Bass/​A_Theme___Tetris_with_Bass.ino]]
 +
 +  * [[https://​github.com/​olikraus/​ucglib]]
 +  * [[https://​gist.github.com/​mikeputnam/​2820675]]
 +
 +  * {{:​pm:​prj2021:​agrigore:​tetris.pdf|Pagina aceasta in format PDF}}
pm/prj2021/agrigore/tetris.1621812094.txt.gz · Last modified: 2021/05/24 02:21 by sergiu.toader
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