Table of Contents

Irineu BĂRBIERU - Memory Game

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in redarea diferitor secvente de aprindere de led-uri. Player-ul trebuie dupa aceea sa reconstituie secventa prin apasarea unor butoane, specifice fiecarui led. Daca reuseste sa reproduca ordinea in mod corect, va trece mai departe. De asemenea, jucatorul va avea un anumit numar de vieti.

Descriere generală

Hardware Design

Lista de piese:

Schema electrica:

Pentru realizarea schemei electrice am folosit utilitarul Eagle (6.5.0)

Software Design

Descrierea codului aplicaţiei (firmware):

proiect.c → sursa in care am implementat toate functiile:

  1. main()
  2. run_game() → functia de start a jocului
  3. led_on(index) → primeste un index pe baza caruia se va aprinde led-ul corespunzator din array
  4. getIndexOfButtonPressed() → determina ce buton a fost apasat si intoarce indexul corespunzator din array
  5. initializare() → setez pinii in mod corespunzator, impreuna cu rezistentele de pull-up pentru butoane
  6. start_or_final_seq() → secventa de afisare a led-urilor pentru inceputul/sfarsitul jocului
  7. castig_runda() → secventa de afisare a led-urilor pentru cand se termina o runda
  8. pierdut_runda() → secventa de afisare a led-urilor pentru cand s-a gresit reproducerea rundei si se reia etapa de la inceput
  9. sfarsit_etapa() → secventa de afisare a led-urilor pentru cand jucatorul a reprodus in mod corect toate rundele din etapa curenta, trecandu-se astfel la urmatoarea etapa

Rezultate Obţinute

A fost un proiect frumos pe care am reusit sa il termin, tinand cont de ce mi-am propus sa realizez. Rezultatul este un joc interesant ce testeaza memoria. Acesta se desfasoara in felul urmator:

https://www.youtube.com/watch?v=sy6Plv9KA70

Concluzii

In urma proiectului am deprins o mica experienta in privinta lipirii componentelor. Foarte important este ca, inainte sa ma apuc sa lipesc, trebuia sa imi realizez un plan mai bun, intrucat desi la exterior piesele lipite arata bine, prin pozitionarea lor nu chiar foarte inteligenta, mi-am facut singur viata mai grea la etapa de cablare a acestora. Totusi, trebuie sa spun ca mi-a placut proiectul, fiind si unul practic, eu neimplicandu-ma pana acum in activitati de acest gen.

Download

barbieru_irineu_proiect.zip

Jurnal

  1. Achizitionare componente placa de baza
  2. Lipirea acestora
  3. Achizitionare componente placa de test
  4. Lipirea acestora
  5. Cablarea acestora
  6. Dezvoltarea software-ului
  7. Prezentare proiect

Bibliografie/Resurse