This shows you the differences between two versions of the page.
pm:prj2021:apredescu:joc_tetris [2021/06/04 15:25] diana.datcu [SOFTWARE DESIGN] |
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 47: | 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. |