Bogdan-Ștefan ANGHEL (78760) - Whac-A-Led game

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Whac-A-Led este un joc bazat pe jocul arcade Whac-A-Mole, in care trebuie apasat butonul corespunzator led-ului aprins.

  • Scopul proiectului este de a face un joc distractiv si competitiv folosind ce am invat la PM
  • Ideea proiectului: am vrut sa realizez un joc de tip arcade pentru proiect si jocul Whac-A-Mole mi s-a parut cel mai interesant
  • Proiectul este util pentru orice doreste sa se relaxeze si sa se distreze

Descriere generală

Whac-A-Led va functiona pentru un jucator. La apasarea butonului reset pe LCD va fi afisat mesajul «Press Start» si scorul maxim curent. Dupa apasarea butonului -play- jocul va incepe. Pe ecran va fi afisat scorul curent. Daca jucatorul ramane fara vieti jocul se incheie iar pe ecran va fi afisat scorul obtinut dupa care se revine la “meniul principal”(cel cu mesajul de press start).
In timpul unei runde un led ales random se va aprinde. Pentru a castiga un punct jucatorul trebuie sa apese butonul corespunzator led-ului aprins. Daca led-ul se stinge fara ca jucatorul sa apese pe butonul corect un alt led, ales tot random, se va aprinde pana cand jucatorul ramane fara vieti.

Schema bloc

Hardware Design

Lista componente

  • Placuta PM2018
  • Componentele de baza
  • LCD Nokia 5110
  • 9 led-uri
  • 9 butoane
  • 9 rezistente 220 Ohm
  • 9 rezistente 100 Ohm
  • Modul cu Stabilizator de 3.3V
  • Cablaj test 7cm x 9cm

Schema electrica

In schema electrica este prezenta o singura rezistenta de 330 de Ohm. Deoarece nu mai erau in stoc am cumparat rezistente de 100 si 220 de Ohm si le-am legat in serie 8-)

Software Design

Mediu de dezvoltare
Sublime pe Windows 10

Implementarea jocului a inceput prin a verifica pinii pe care se afla fiecare led si fiecare buton.
Jocul are un buton de Start, butonul din centru. La apasarea acestui buton după 1 secundă va incepe jocul efectiv. Folosind timer-ul am generat intreruperi la fiecare 50ms. In acest timp un led random este aprins iar pentru a primi un punct un jucător trebuie sa apese butonul corespunzator led-ului aprins. Daca se apasa un buton greșit jucătorul pierde o viață din cele 5 cu care incepe. O rundă se termina atunci cand un jucător rămâne fara vieti.
Dificultatea jocului creste odata ce se ajunge la un anumit scor. Cresterea dificultatii consta in micsorarea perioadei in care se poate apasa un buton

Rezultate Obţinute

In urma implementarii am obtinut un joc functional si distractiv cu care poti pierde mult timp deoarece este captivant.

Concluzii

In urma realizarii proiectului am inteles mult mai bine materia facuta la laborator. Desi nu a fost atat de usor pe cat m-am asteptat initial, cea mai mare dificultate a fost sa leg toate butoanele si toate ledurile la un singur ground.
Mi-a placut sa lucrez la acest proiect cu toate ca la inceput am avut dificultati in a decide ce componente am nevoie.

Download

Arhiva contine:

  • bmp_pixel.h
  • cod.c
  • cod.elf
  • cod.hex
  • cod.h
  • Nokia5110.c
  • Nokia5110.h
  • font6x8.h
  • Makefile

336cc_anghel_bogdan-stefan_proiect2018.zip

Jurnal

23.05.2018: Schema electrica in varinta finala | Alte sectiuni completate pe wiki

20.05.2018: Toate componentele au fost lipite

13:05.2018: Schema electrica adugata (pot aparea modificari ulterioare)

08.05.2018: Bootloader-ul incarcat pe placuta | Program simplu care aprinde un led cand apesi pe buton testat cu succes

06.05.2018: Toate componentele de baza au fost lipite

23.04.2018: Aceasta pagina de wiki a fost creata

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

  • Documentația în format PDF
pm/prj2018/aandreica/78760.txt · Last modified: 2021/04/14 17:07 (external edit)
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