Differences

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

Link to this comparison view

pm:prj2021:cghenea:70 [2021/04/25 16:38]
stefan.hoisan
pm:prj2021:cghenea:70 [2021/05/26 19:27] (current)
stefan.hoisan
Line 5: Line 5:
  
 ===== Introducere ===== ===== Introducere =====
-  * O reprezentare a clasicului joc Snake folosind un ecran LCD. In plus fata de varianta standard, aceasta abordare a jocului va avea elemente colectabile cu diferite efecte asupra jucatorului ​si diferite tipuri de mancare pentru ​snake. +O reprezentare a clasicului joc Snake folosind un ecran LCD. In plus fata de varianta standard, aceasta abordare a jocului va avea:\\  
-  ​* ​Scopul proiectului este unul pur recreativ, fiind destinat pentru a aduce divertisment in petrecerea timpului ​liber.+- obstacole\\  
 +elemente colectabile cu diferite efecte asupra jucatorului\\  
 +diferite tipuri de mancare\\  
 +- un sistem de vieti pentru ​jucator\\  
 + 
 +Scopul proiectului este unul pur recreativ, fiind destinat pentru a aduce divertisment in timpul ​liber.
 ===== Descriere generală ===== ===== Descriere generală =====
 +Jucatorul va controla sarpele prin interactiunea cu 4 butoane pentru schimbarea directiei. Atat sarpele, elementele colectabile,​ obstacolele,​ cat si scorul vor fi redate prin ecranul LCD.
 +
 +{{:​pm:​prj2021:​cghenea:​schemabloc_hoisanstefan_snakepowerups.png?​550|}}
 ===== Hardware Design ===== ===== Hardware Design =====
-List componentelor:​ +**1. Lista componentelor:​** 
-  * +  * Placuta Arduino UNO 
 +  * Ecran LCD ILI9341 
 +  * Rezistente 1kOhm 
 +  * Breadboard 
 +  * Fire de legatura 
 +  * Butoane 
 +**2. Schema electrica:​** 
 + 
 +Am realizat schema electrica in Fritzing si am incarcat propriul fisier .fzpz (atat schema, cat si fisierul pentru import sunt disponibile in arhiva) pentru importarea LCD-ului. Intrucat LCD-ul functioneaza la o tensiune de 3.3V, am folosit rezistente de 1kOhm pentru legarea la placa Arduino UNO. 
 + 
 +{{:​pm:​prj2021:​cghenea:​schemaelectrica_hoisanstefan_snakepowerups.jpg?​550|}}
 ===== Software Design ===== ===== Software Design =====
 +  * Ca mediu de dezvoltare am folosit Arduino Software IDE 1.8.15 pentru scrierea de cod si Fritzing pentru schema electrica
 +  * Pentru interactionarea cu LCD-ul am instalat bibliotecile:​ Adafruit ILI9341 1.5.8, Adafruit GFX 1.10.7, TFT 1.0.6
 +  * Pentru implementare,​ m-am folosit si de biblioteca FreeRTOS
 +
 +  #include "​SPI.h"​
 +  #include "​Adafruit_GFX.h"​
 +  #include "​Adafruit_ILI9341.h"​
 +  #include "​Arduino_FreeRTOS.h"​
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +Am obtinut o varianta a jocului Snake in care scopul jucatorului este sa stranga cat mai multe puncte in timp ce incearca sa nu atinga peretii tabelei de joc sau obstacolele. Punctele sunt oferite la fiecare actualizare a frame-ului, dar si la colectarea de mancare. Tipurile de mancare sunt urmatoarele:​ mancarea verde dubleaza viteza de miscare pentru 2 secunde (timp in care si scorul este dublat), mancarea galbena adauga o viata bonus, iar mancarea maro este cea normala.
 +
 +{{:​pm:​prj2021:​cghenea:​snakepowerups_1_.jpeg?​400|}}
 +{{:​pm:​prj2021:​cghenea:​snakepowerups_7_.jpeg?​400|}}
 +{{:​pm:​prj2021:​cghenea:​snakepowerups_2_.jpeg?​300|}}
 ===== Concluzii ===== ===== Concluzii =====
 +Personal, tot proiectul in sine a fost o adevarata provocare, partea cea mai grea fiind asamblarea hardware. Am intampinat probleme la legatura dintre LCD si Arduino printr-un translator de nivel logic si am renuntat ulterior la aceasta abordare pentru a folosi rezistentele.\\ ​
 +In final, pot spune ca a meritat. Satisfactia completarii proiectului,​ dar si experienta unica de a lucra cu o placa Arduino mi-au adus un mare plus.
 ===== Download ===== ===== Download =====
 +{{:​pm:​prj2021:​cghenea:​snake_powerups.zip|}}
 +===== Jurnal =====
 +  * 24.04 - alegerea temei de proiect
 +  * 25.04 - realizarea paginii proiectului
 +  * 27.04 - strangerea tuturor componenetelor
 +  * 15.05 - terminarea asamblarii hardware
 +  * 18.05 - realizarea unei variante a jocului, dar fara obstacole, powerups, vieti
 +  * 22.05 - definitivarea jocului
 +  * 23.05 - definitivarea paginii proiectului
 ===== Bibliografie/​Resurse===== ===== Bibliografie/​Resurse=====
 +[[https://​fritzing.org/​|Fritzing]]
 +[[https://​github.com/​adafruit/​Adafruit_ILI9341|Adafruit_ILI9341]]
 +[[https://​github.com/​adafruit/​Adafruit-GFX-Library|Adafruit-GFX]]
 +[[https://​drive.google.com/​file/​d/​1jh8DkvOspJ7oyA_hPoRxqsp9t-BCR3zK/​view?​usp=sharing|Link Demo]]
 +[[https://​www.youtube.com/​watch?​v=beyDkTBhpgs&​t=147s|Tutorial schema electrica]]
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​cghenea/​70?​do=export_pdf|Pagina PDF]]
pm/prj2021/cghenea/70.1619357881.txt.gz · Last modified: 2021/04/25 16:38 by stefan.hoisan
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