This shows you the differences between two versions of the page.
pm:prj2021:apredescu:joc_tetris [2021/06/04 15:23] diana.datcu [BIBLIOGRAFIE/RESURSE] |
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|}} | + | |
- | ===== Piese necesare ===== | + | ===== Hardware Design ===== |
- | * Modul LCD cu Touchscreen - Controller ILI9341 | + | Piese necesare: |
- | * Arduino Uno | + | * Modul LCD SPI de 2.8'' cu Touchscreen - Controller ILI9341 și XPT2046 (240x320 px) |
- | * Difuzor | + | * Arduino Uno R3 |
+ | * Buzzer | ||
* 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. | ||
===== JURNAL ===== | ===== JURNAL ===== | ||
- | 24.04 Alegere proiect | + | * 24.04 Alegere proiect |
- | 01.05 Realizare pagina wiki proiect | + | * 01.05 Realizare pagina wiki proiect |
- | 07.05 Comanda primul set de piese | + | * 07.05 Comanda primul set de piese |
- | 10.05 Livrare primul set de piese | + | * 10.05 Livrare primul set de piese |
- | 12.05 Comanda al doilea set de piese | + | * 12.05 Comanda al doilea set de piese |
- | 15.05 Livrare al doilea set de piese | + | * 15.05 Livrare al doilea set de piese |
- | 17.05 Tentativa de a ma apuca de proiect, am vazut ca am nevoie de translatoare logice pentru LCD | + | * 17.05 Tentativa de a ma apuca de proiect, am vazut ca am nevoie de translatoare logice pentru LCD |
- | 19.05 Comanda al treilea set de piese | + | * 19.05 Comanda al treilea set de piese |
- | 23.05 Livrare al treilea set de piese | + | * 23.05 Livrare al treilea set de piese |
- | 28.05 Discutie cu laborantul pentru niste clarificari suplimentare | + | * 28.05 Discutie cu laborantul pentru niste clarificari suplimentare |
- | 31.05 Documentatie proiect | + | * 31.05 Documentatie proiect |
- | 01.06 - 04.06 Chin cu legatul LCD | + | * 01.06 - 04.06 Chin cu legatul LCD |
- | 03.06 - 04.06 Implementare cod | + | * 03.06 - 04.06 Implementare cod |
- | 04.06 - "Finalizare" proiect si pagina de wiki | + | * 04.06 - "Finalizare" proiect si pagina de wiki |
===== DOWNLOAD ===== | ===== DOWNLOAD ===== | ||
Line 68: | Line 87: | ||
Link-uri cod: | Link-uri cod: | ||
+ | |||
[[https://create.arduino.cc/projecthub/rom3/tetris-clone-for-arduino-uno-with-touchscreen-and-sound-e99d4a]] | [[https://create.arduino.cc/projecthub/rom3/tetris-clone-for-arduino-uno-with-touchscreen-and-sound-e99d4a]] | ||
+ | |||
[[https://hackaday.io/project/10761-tetris-on-arduino-lcd]] | [[https://hackaday.io/project/10761-tetris-on-arduino-lcd]] | ||
+ | |||
[[https://www.instructables.com/Arduino-24-Touch-Screen-LCD-Shield-Tutorial/]] | [[https://www.instructables.com/Arduino-24-Touch-Screen-LCD-Shield-Tutorial/]] | ||
Informatii legate de realizarea circuitului: | Informatii legate de realizarea circuitului: | ||
+ | |||
[[https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all]] Conectarea convertorului de nivel logic cu 4 canale | [[https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all]] Conectarea convertorului de nivel logic cu 4 canale | ||
+ | |||
[[https://www.optimusdigital.ro/en/lcds/3550-modul-lcd-de-28-cu-spi-i-controller-ili9341-240x320-px.html?search_query=LCD+spi+ili9341&results=5]] | [[https://www.optimusdigital.ro/en/lcds/3550-modul-lcd-de-28-cu-spi-i-controller-ili9341-240x320-px.html?search_query=LCD+spi+ili9341&results=5]] | ||
+ | |||
[[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/3544-modul-lcd-spi-de-28-cu-touchscreen-controller-ili9341-i-xpt2046-240x320-px.html]] | [[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/3544-modul-lcd-spi-de-28-cu-touchscreen-controller-ili9341-i-xpt2046-240x320-px.html]] | ||
+ | |||
[[https://www.youtube.com/watch?v=4DtuOeeYHys]] | [[https://www.youtube.com/watch?v=4DtuOeeYHys]] | ||
Datasheet: | Datasheet: | ||
+ | |||
[[https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf]] | [[https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf]] | ||
- | [[http://grobotronics.com/images/datasheets/xpt2046-datasheet. | + | |
+ | [[http://grobotronics.com/images/datasheets/xpt2046-datasheet.]] |