Differences

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

Link to this comparison view

pm:prj2021:agrigore:snake_lcd [2021/05/22 13:18]
roxana_elena.stiuca [Bibliografie/Resurse]
pm:prj2021:agrigore:snake_lcd [2021/05/24 10:04] (current)
roxana_elena.stiuca [Software Design]
Line 7: Line 7:
   * La deschiderea programului,​ va aparea un mesaj de inceput. Apasarea oricarui buton declanseaza inceputul jocului.   * La deschiderea programului,​ va aparea un mesaj de inceput. Apasarea oricarui buton declanseaza inceputul jocului.
   * Scorul va aparea in coltul din stanga sus, in timpul jocului.   * Scorul va aparea in coltul din stanga sus, in timpul jocului.
-  * In caz de gameover va aparea un mesaj cu scorul total acumulat. Apasarea oricarui buton declanseaza inceperea unui joc nou.+  * In caz de gameover va aparea un mesaj. Apasarea oricarui buton declanseaza inceperea unui joc nou.
  
 ==== Descriere generala ==== ==== Descriere generala ====
Line 14: Line 14:
 === Componente === === Componente ===
  
-^ Nume                  ^ Numar ^ Link ^ Poza +^ Nume                  ^ Numar ^ Link ^ 
-| Arduino Uno           | 1     | [[https://​www.optimusdigital.ro/​en/​compatibile-with-arduino-uno/​1678-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340.html?​search_query=0104110000016997&​results=1|click]] ​+| Arduino Uno           | 1     | [[https://​www.optimusdigital.ro/​en/​compatibile-with-arduino-uno/​1678-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340.html?​search_query=0104110000016997&​results=1|click]] | 
-| Breadboard ​           | 1     | [[https://​www.optimusdigital.ro/​en/​breadboards/​8-breadboard-hq-830-points.html?​search_query=0104110000001382&​results=1|click]] ​+| Breadboard ​           | 1     | [[https://​www.optimusdigital.ro/​en/​breadboards/​8-breadboard-hq-830-points.html?​search_query=0104110000001382&​results=1|click]] | 
-| Modul LCD SPI 128x160 | 1     | [[https://​ardushop.ro/​ro/​home/​865-modul-lcd-spi-128x160.html?​search_query=Modul+LCD+SPI+128x160&​results=392|click]] ​+| Modul LCD SPI 128x160 | 1     | [[https://​ardushop.ro/​ro/​home/​865-modul-lcd-spi-128x160.html?​search_query=Modul+LCD+SPI+128x160&​results=392|click]] | 
-| Modul bluetooth HC-05 | 1     | [[https://​ardushop.ro/​ro/​home/​132-modul-bluetooth-hc-06-cu-3-pini.html?​search_query=Modul+bluetooth+HC-05&​results=380|click]] ​+| Modul bluetooth HC-05 | 1     | [[https://​ardushop.ro/​ro/​home/​132-modul-bluetooth-hc-06-cu-3-pini.html?​search_query=Modul+bluetooth+HC-05&​results=380|click]] | 
-| Fire                  | 14    |      ​|+| Fire                  | 14    |      |
  
  
Line 31: Line 31:
  
 Din perspectiva telefonului,​ este nevoie de un telefon Android cu o aplicatie de tipul Bluetooth Terminal. Eu am ales aplicatia [[https://​play.google.com/​store/​apps/​details?​id=com.app.aktham.blueduino&​hl=en_US&​gl=US|BlueDuino]] care permite conectarea prin Bluetooth la un device, ofera o interfata grafica cu 4 butoane (sus, jos, stanga, dreapta) care pot fi configurate a.i. la apasare sa fie trimis un String ("​w",​ "​s",​ "​a",​ "​d"​). In Arduino, tot ce trebuie facut este: myblue.read() si verificarea caracterului citit. Din perspectiva telefonului,​ este nevoie de un telefon Android cu o aplicatie de tipul Bluetooth Terminal. Eu am ales aplicatia [[https://​play.google.com/​store/​apps/​details?​id=com.app.aktham.blueduino&​hl=en_US&​gl=US|BlueDuino]] care permite conectarea prin Bluetooth la un device, ofera o interfata grafica cu 4 butoane (sus, jos, stanga, dreapta) care pot fi configurate a.i. la apasare sa fie trimis un String ("​w",​ "​s",​ "​a",​ "​d"​). In Arduino, tot ce trebuie facut este: myblue.read() si verificarea caracterului citit.
 +
 +{{:​pm:​prj2021:​agrigore:​snakelcdbt_hard1.jpeg?​200 |}}
  
 === Conectare ecran LCD === === Conectare ecran LCD ===
Line 41: Line 43:
   * A0 -> pinul 9;   * A0 -> pinul 9;
   * RESET -> pinul 8.   * RESET -> pinul 8.
 +
 +{{:​pm:​prj2021:​agrigore:​snakelcdbt_hard2.jpeg?​200 |}}
 ==== Software Design ==== ==== Software Design ====
 === Mediul de dezvoltare === === Mediul de dezvoltare ===
Line 60: Line 64:
           * initializare ecran;           * initializare ecran;
           * umplere ecran cu culoarea de background;           * umplere ecran cu culoarea de background;
-          * afisare mesaj de input.+          * afisare mesaj de inceput.
       * setup snake:       * setup snake:
           * setare limite zona de joc (zona in care personajul se plimba);           * setare limite zona de joc (zona in care personajul se plimba);
Line 80: Line 84:
       * personajul este mutat cu un pas; se verifica de asemenea daca avem coliziune cap sarpe-corp sarpe (caz in care am trece in GAMEOVER) sau coliziuni sarpe-mancare (caz in care actualizam scorul si gasim noi coordonate pentru mancare).       * personajul este mutat cu un pas; se verifica de asemenea daca avem coliziune cap sarpe-corp sarpe (caz in care am trece in GAMEOVER) sau coliziuni sarpe-mancare (caz in care actualizam scorul si gasim noi coordonate pentru mancare).
   * GAMEOVER:   * GAMEOVER:
-      * pe ecran apare un mesaj: //"​Gameover! ​Total score: X. Press any button to restart."//​+      * pe ecran apare un mesaj: //"​Gameover! Press any button to restart."//​
       * se asteapta input (directia initiala pentru noul joc); la primire se trece in READY.       * se asteapta input (directia initiala pentru noul joc); la primire se trece in READY.
  
Line 99: Line 103:
 Pentru a nu exista un delay din cauza scrierii pe ecran, la fiecare loop prin starea PLAY este desenat doar blocul nou aparut pentru sarpe si este desenat peste blocul din sarpe ce a disparut cu culoarea fundalului. Pentru a nu exista un delay din cauza scrierii pe ecran, la fiecare loop prin starea PLAY este desenat doar blocul nou aparut pentru sarpe si este desenat peste blocul din sarpe ce a disparut cu culoarea fundalului.
 ==== Rezultate obtinute ==== ==== Rezultate obtinute ====
-TBA: poza cele 3 ecrane (inceput, joc, gameover)+In finalam obtinut un joc simpaticfunctional, la care se pierde greu (zona de joc e mare si dureaza pana ajungi la o lungime destul de mare incat sa poata exista coliziuni)
 + 
 +Prezentare:​ 
 +{{:​pm:​prj2021:​agrigore:​snakelcdbt_cutie.jpeg?​200|}} 
 + 
 +Ecran inceput: 
 +{{:​pm:​prj2021:​agrigore:​snakelcdbt_start.jpeg?​200|}} 
 + 
 +Ecran joc: 
 +{{:​pm:​prj2021:​agrigore:​snakelcdbt_joc.jpeg?​200|}} 
 + 
 +Gameover: 
 +{{:​pm:​prj2021:​agrigore:​snakelcdbt_gameover.jpeg?​200|}}
  
-TBAvideo demo.+=== Demo === 
 +[[https://youtu.be/​H8UyOqMI5z4|Link Demo Youtube]]
 ==== Concluzii ==== ==== Concluzii ====
   * Proiectul este realizat in intregime si functioneaza conform asteptarilor.   * Proiectul este realizat in intregime si functioneaza conform asteptarilor.
Line 108: Line 125:
   * Un feature nou posibil ar fi pastrarea scorurilor maxime intr-o varianta persistenta (ex. in EEPROM) si afisarea acestora la finalul jocului.   * Un feature nou posibil ar fi pastrarea scorurilor maxime intr-o varianta persistenta (ex. in EEPROM) si afisarea acestora la finalul jocului.
 ==== Download ==== ==== Download ====
-TBAlink cod+{{:pm:​prj2021:​agrigore:​snakelcdbt_cod_schematic_roxanastiuca.zip|Fisiere sursa + Schematic}}
 ==== Jurnal ==== ==== Jurnal ====
   * 22/4: alegere tema proiect.   * 22/4: alegere tema proiect.
Line 124: Line 141:
   * https://​www.arduino.cc/​en/​Reference/​softwareSerial   * https://​www.arduino.cc/​en/​Reference/​softwareSerial
   * https://​create.arduino.cc/​projecthub/​akshayjoseph666/​interfacing-bluetooth-module-hc-05-with-arduino-uno-f5209b   * https://​create.arduino.cc/​projecthub/​akshayjoseph666/​interfacing-bluetooth-module-hc-05-with-arduino-uno-f5209b
 +  * https://​ardushop.ro/​ro/​home/​865-modul-lcd-spi-128x160.html?​search_query=Modul+LCD+SPI+128x160&​results=392
 +  * https://​ardushop.ro/​ro/​home/​132-modul-bluetooth-hc-06-cu-3-pini.html?​search_query=Modul+bluetooth+HC-05&​results=380
pm/prj2021/agrigore/snake_lcd.1621678694.txt.gz · Last modified: 2021/05/22 13:18 by roxana_elena.stiuca
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