Simon Says

Autor: Marin Radu Ionuț
Grupă: 336CB

Introducere

Proiectul implementează jocul Simon Says folosind un buzzer. Scopul proiectului este atât de a relaxa utilizatorul cât și de a-i exersa memoria.

Descriere generală

Atunci când vrei să iei o pauză de la probleme tale poți încerca un joculeț interesant care te și relaxează, dar îți și antrenează memoria. O alegere inspirată ar fi Simon Says. Interacțiunea cu utilizatorul o reprezintă un buzzer și câteva butoane.

Schema bloc

Hardware Design

Descriere

Am folosit un potențiometru pentru a amplifica sunetul buzzer-ului. Butoanele sunt legate la o rezistență de pull-down, fiind active pe HIGH.

Schematic (EAGLE)

Listă de piese
Piesă Descriere
Plăcuța de bază PM 2019 Plăcuța pe care sunt lipite toate piesele
Microcontroller ATMEGA324A-PU Asigură legătura între celelalte piese
Push Button La apăsare va genera un sunet specific butonului
Buzzer Va scoate sunetele pe care să le creăm cu ajutorul butoanelor
LCD 1602 Vor fi afișate date despre nivelul curent
Leduri Folosite pentru anumite nivele ale jocului
Rezistențe Pentru butoane și leduri

Software Design

Jocul constă în redarea unor sunete distincte de către buzzer și reproducerea din butoane. Sunt 5 butoane (PB3-PB7), fiecare având atribuit câte un sunet. Butonul PB2 pornește nivelele, care constau într-o succesiune de sunete pe care jucătorul trebuie să le reproducă din butoane. Înainte de a începe jocul și între nivele există pauze în care jucătorul poate exersa butoanele.

Primele 3 nivele se deosebesc prin viteza de redare a sunetelor de către buzzer (PB0). Nivelele 4 și 5 conțin și capcane. O capcană este reprezentată de un led (PA0) care se aprinde la anumite sunete, însemnând că acelea trebuie ignorate.

La fiecare nivel sunt afișate pe LCD date despre nivel (ex. nivelul propriu-zis, viteza sunetelor, dacă conține sau nu capcane). De asemenea după fiecare nivel se afișează statusul nivelului, adică dacă a fost câstigat sau pierdut.

La fiecare apăsare de buton rețin într-un vector id-ul sunetului scos de acel buton. După terminarea secvenței de sunete, acest vector este comparat cu un vector de răspunsuri corecte pentru nivelul respectiv, pentru a se decide dacă jucătorul trece la urmatorul nivel sau se încheie jocul.

Rezultate

Videoclip: Simon Says

Download

Arhiva proiectului: Proiect Simon Says

Arhiva bootloader-ului: Bootloader 2019

Arhiva proiectului conține:

  • proiect_pm.c → codul sursă
  • lcd.c → codul sursă pentru lcd
  • lcd.h → biblioteca lcd-ului
  • Makefile

Bibliografie/Resurse

pm/prj2019/rbarbascu/simon-says.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