Tănase GULA - Joc interactiv

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Joc Simon: O secventa de LED-uri si sunete, care va trebui sa fie refacuta de jucator:

  • fiecare LED are un sunet specific; avem perechi (LED, sunet);
  • la secventa doar se insereaza o astfel de pereche, fara a se modifica secventa existenta in vreun fel;
  • fiecare pereche are asociat un buton;
  • jucatorul va reface perechea apasand butoane aferente perechilor;
  • in momentul in care este apasat un buton, se activeaza perechea (LED, sunet) asociata:
    • aprinde LED-ul;
    • reda sunetul.
  • ALTE FUNCTIONALITATI:
    • buton START / STOP joc;
    • afiseaza scorul de LCD.
  • OPTIUNE POSIBILA - vieti:
    • jocul se termina la a treia greseala;
    • afiseaza pe LCD numarul de vieti ramase;
    • in momentul in care se descopera o greseala:
      • anunta pe LCD;
      • aprinde toate LED-urile;
      • reda sunet specific;
      • reincepe runda, prin a reda secventa in care s-a gresit (nu se adauga pereche noua).

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Hardware Design

Lista piese:

Nume Numar unitati Cost(RON) Furnizor Observatii
Rezistente 1K 4 0.50 Conex Electronics -
Placa test 1 5.00 Electronic Light Tech -
Difuzor 1 7.00 Electronic Light Tech -
Butoane 4 2.00 Conex Electronics -
LED 4 2.00 Electronic Light tech -
Panglica Colorata 20 fire 1 metru 7.00 Electronic Light Tech Nu e necesara intreaga panglica
Conector Mama 2×10 2 2.50 Conex Electronics -
Conector Mama 2×8 2 2.00 Conex Electronics -
Conector Mama 1-to-1 10 18.00 Electronic Light Tech Pentru o cablare mai usoara (nu sunt neaparat necesare)

Schema electrica:

Software Design

Mediul de dezvoltare folosit a fost WinAVR + Programmer's Notepad, pe sistem Windows 8.1.

Functionalitati implementate:

  • generarea vectorului de secventa in functie de cate “nivele” se doreste sa aibe jocul;
  • in momentul in care se aprinde un LED, e emis un sunet specific ⇒ am creat o asociere de tipul LED - frecventa;
  • in momentul in care utilizatorul apasa un buton asociat unui LED, se emite un sunet specific ⇒ se pastreaza asocierea LED - frecventa;
  • in momentul in care se greseste inputul, se trece in stadiul WRONG; aici se emite o singura frecventa iar LED-urile clipesc toate deoadata;
  • in momentul in care se trece de ultimul nivel inputul, se trece in stadiul RIGHT; aici se emite marsul imperial (la fel ca in laboratorul 3) iar LED-urile clipesc in rafala;
  • resetarea jocului este cea implementata deja in boot.

Rezultate Obţinute

varianta finala:

Prima poza e din timpul in care se ruleaza secventa de repetat.

A doua poza e din timpul mesajului de “greseala”. In timpul unui mesaj de “castigare”, LED-urile se aprind in rafala, de la stanga la dreapta.

Concluzii

A fost un proiect destul de interesant. Odata terminat, imi dau seama ca nu a fost atat de greu; facut mai din timp, puteam adauga si alte functionalitati, partea software necesara fiind in mare parte in laboratoare.

Ca si dificultati in realizarea sa, nu pot spune ca am intampinat unele majore. Singura problema a fost ca bootloader-ul mergea foarte greu pe placuta mea de baza, pana sa recunoasca laptopul meu placa durand cateva minute (in medie 10, dar ajungand si la 30 minute). Acest lucru s-a rezolvat, testand utilizand alta placuta de baza (a unui coleg), iar la sfarsit adaugand software-ul pe placuta mea.

Download

Bibliografie/Resurse

  1. Proiectele de anii trecuti (pentru schema electrica):
    • care foloseau buzzer;
    • care foloseau butoane / led-uri
  2. Laboratorul 0 si Laboratorul 3 (pentru software);
pm/prj2014/avoinescu/tanase.gula.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