This shows you the differences between two versions of the page.
|
pm:prj2021:apredescu:joc_tetris [2021/06/04 15:24] diana.datcu [JURNAL] |
pm:prj2021:apredescu:joc_tetris [2021/06/04 16:04] (current) diana.datcu [REZULTATE OBTINUTE] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | Proiectul constă în implementarea jocului de Tetris pe un ecran LCD, în care se vor obține puncte de fiecare dată când se va umple o linie. Jocul este pierdut când nu va mai exista spațiu. În implementare sunt utilizate 7 butoane ca input, microcontroller-ul, iar LCD-ul, un LED și un difuzor ca output. | + | Proiectul constă în implementarea jocului de Tetris, din pacate nefunctional, pe un ecran LCD, în care se vor obține puncte de fiecare dată când se va umple o linie. Jocul este pierdut când nu va mai exista spațiu. În implementare sunt utilizate 5 butoane ca input, microcontroller-ul, iar LCD-ul, un LED și un difuzor ca output. |
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | Plăcuța Arduino va prelua datele de intrare de la butoane. Jucătorul va folosi 2 butoane pentru mișcarea stânga/dreapta a piesei, două butoane pentru rotirea stânga/dreapta a piesei, un buton va fi folosit pentru selectare, un buton pentru restart si unul pentru pauză. | + | Plăcuța Arduino va prelua datele de intrare de la butoane. Jucătorul va folosi 2 butoane pentru mișcarea stânga/dreapta a piesei, un buton pentru rotirea piesei, un buton va fi folosit pentru selectare si unul pentru pauză. |
| + | {{:pm:prj2021:apredescu:datcu_diana_cristina_schema.png?600 |}} | ||
| - | {{:pm:prj2021:apredescu:336ca_datcu_diana_tetris.png?600|}} | + | ===== Hardware Design ===== |
| - | + | Piese necesare: | |
| - | ===== Piese necesare ===== | + | * Modul LCD SPI de 2.8'' cu Touchscreen - Controller ILI9341 și XPT2046 (240x320 px) |
| - | * Modul LCD cu Touchscreen - Controller ILI9341 | + | * Arduino Uno R3 |
| - | * Arduino Uno | + | * Buzzer |
| - | * Difuzor | + | |
| * Breadboard | * Breadboard | ||
| * Fire | * Fire | ||
| * Butoane | * Butoane | ||
| - | * LED RGB | + | * Translator de nivel logic cu 4 canale (Doar pentru utilizarea butoanelor) |
| + | * Translator de nivel logic cu 8 canale (Pentru a utiliza si touchscreen) | ||
| + | Scheme electrice: | ||
| + | Schema electrica cu translatorul cu 4 canale: | ||
| + | {{:pm:prj2021:apredescu:datcu_diana_cristina_schema_electrica_translator_4_canale.png?900 |}} | ||
| + | |||
| + | Schema electrica cu transaltorul cu 8 canale: | ||
| + | {{:pm:prj2021:apredescu:datcu_diana_cristina_schema_electrica_8_canale.png?900 |}} | ||
| + | Realizare circuit: | ||
| + | Mentionez de la inceput ca proiectul nu functioneaza, intrucat LCD se aprinde insa nu afiseaza nimic. | ||
| + | LCD-ul a fost unul destul de pretentios dupa parerea mea, deoarece voia alimentare de la 3.3V, si nu de la 5V asa cum ofera placuta de Arduino. Din aceasta cauza a trebuit sa folosesc translatoare logice. | ||
| + | In implementarea proiectului am plecat de la a descoperi cum functioneaza LCD-ul. Din pacate nici pana acum nu am aflat. Am cautat pe diverse site-uri, am vazut mai multe moduri de a lega LCD-ul la placuta de Arduino insa nu a functionat. | ||
| + | Am conectat in mai multe moduri si de fiecare data incercam sa rulez exemple din biblioteca UCGlib in care decomentam linia Ucglib_ILI9341_18x240x320_HWSPI ucg (/ * cd = * / 9, / * cs = * / 10, / * reset = 8); insa fara vreo reusita. | ||
| + | Am ales sa termin circuitul pe care il voiam finalizat. | ||
| ===== SOFTWARE DESIGN ===== | ===== SOFTWARE DESIGN ===== | ||
| Mediu de dezvoltare: | Mediu de dezvoltare: | ||
| Line 25: | Line 36: | ||
| Biblioteci folosite: | Biblioteci folosite: | ||
| + | |||
| [[https://github.com/prenticedavid/MCUFRIEND_kbv]] | [[https://github.com/prenticedavid/MCUFRIEND_kbv]] | ||
| + | |||
| [[https://github.com/PaulStoffregen/ILI9341_t3]] | [[https://github.com/PaulStoffregen/ILI9341_t3]] | ||
| + | |||
| [[https://github.com/PaulStoffregen/XPT2046_Touchscreen]] | [[https://github.com/PaulStoffregen/XPT2046_Touchscreen]] | ||
| + | |||
| [[https://github.com/olikraus/ucglib]] | [[https://github.com/olikraus/ucglib]] | ||
| + | |||
| [[https://github.com/adafruit/Adafruit-GFX-Library]] | [[https://github.com/adafruit/Adafruit-GFX-Library]] | ||
| Line 42: | Line 58: | ||
| NU MERGE! PLIZ HELP | NU MERGE! PLIZ HELP | ||
| + | {{:pm:prj2021:apredescu:datcu_diana_cristina_4_canale.png?300 |}} | ||
| + | |||
| + | {{ :pm:prj2021:apredescu:datcu_diana_cristina_8_canale.png?300 |}} | ||
| ===== CONLCUZII ===== | ===== CONLCUZII ===== | ||
| Proietul a fost destul de fun de realizat, insa frustranta partea cu LCD-ul. Daca nu m-as fi apucat atat de tarziu de proiect (cu 4 zile inainte de data la care ar fi trebuit sa il prezint) as fi schimbat LCD-ul sau as mai fi incercat si legarea unor rezistente astfel incat sa LCD-ul sa primeasca 3.3V in loc de 5 V. Am invatat insa sa programez in Arduino ceea ce mi se pare un plus. | Proietul a fost destul de fun de realizat, insa frustranta partea cu LCD-ul. Daca nu m-as fi apucat atat de tarziu de proiect (cu 4 zile inainte de data la care ar fi trebuit sa il prezint) as fi schimbat LCD-ul sau as mai fi incercat si legarea unor rezistente astfel incat sa LCD-ul sa primeasca 3.3V in loc de 5 V. Am invatat insa sa programez in Arduino ceea ce mi se pare un plus. | ||