Memory Game

Autor: Zarioiu Andreea

Introducere

Proiectul consta intr-un un joc pe mobil in care trebuie sa memorezi secvente de culori generate pe o aplicatie Android si sa le reproduci folosind butoanele de pe breadboard asociate cu leduri de diferite culori. Aplicatia retine scorul si creste treptat nivelul de dificultate.

Descriere generală

Jocul incepe prin a genera prima secventa de culori, aceasta ramane pe ecranul aplicatiei Android cateva secunde dupa care dispare. Din acest moment utilizatorul are o limita de timp in care trebuie sa o reproduca apasand butoanele din dreptul ledurilor culorilor respective. Cand se termina timpul si utilizatorul e gata sa introduca culorile, apasa pe butonul “Ready”. Culorile introduse apar pe telefon in timp real, la apasarea butoanelor de pe breadboard. La apasarea butonului gresit buzzerul produce o melodie de fail si jocul se opreste. Daca introduce corect culorile scorul creste si trece la nivelul urmator. In aplicatie sunt afisate culorile si scorul jucatorului.

Schema bloc

Hardware Design

Lista de piese
  • Arduino UNO
  • Modul bluetooth HC-05
  • Breadboard
  • Leduri
  • Rezistente
  • Fire tata-tata
  • Butoane
  • Mufa baterie 9V
  • Baterie 9V
  • Buzzer
Schema electrica

Software Design

Codul aplicatiei ce comunica cu placuta este scris in Java in Android Studio. La deschiderea aplicatiei se realizeaza un socket (ce este de fapt un obiect de tip BluetoothSocket din API.ul Android) intre telefon si modulul HC-05 prin cautarea dispozitivelor disponibile si identificarea acestuia prin adresa MAC. Comunicarea are loc dupa conectarea socketului prin clasele InputStream si OutputStream fiind de tipul full-duplex. La apasarea butonului “Start” se genereaza o secventa de culori si se porneste un Timer. La terminarea timpului culorile dispar iar la apasarea butonului “Ready” se asteapta input de la modulul HC-05. Dupa fiecarea culoare trimisa se verifica daca este cea corecta iar daca nu este se trimite un mesaj de eroare la placuta si se porneste buzzerul. Culorile sunt codificate prin caractere si pastrate intr-un hashmap. Pentru codul incarcat pe placuta m-am folosit de IDE-ul dedicat Arduino si de interfata seriala.

Rezultate Obţinute

memory_game.jpeg

In urmatoarele poze se poate vedea topologia hardware a proiectului: breadboardul avand fiecare buton asociat cu un led de culoare diferita si buzzerul pentru alertele de la aplicatie. Placuta este alimentata la o baterie de 9V.

memory_game_breadboard.jpeg

memory_game_breadboard2.jpeg

Interfata este realizata printr-o aplicatie Android Studio. Prima poza reprezinta fereastra initiala a aplicatiei, a doua este cea dupa apasarea butonului de “Start” ce genereaza culorile iar ultima este la introducerea unei culori gresite.

memory_game_app_first_window.jpeg memory_game_colors_generated.jpeg memory_game_game_lost.jpeg

Am surprins mai bine functionalitatea proiectului in urmatoarea inregistrare:

https://drive.google.com/file/d/1lk7_J5eBi_ROMokr5eZywgEnuXnZOrtl/view?usp=sharing

Concluzii

Mi-a placut sa imbin dezvoltarea de aplicatii mobile cu informatiile acumulate in cadrul laboratorului de PM. Comunicarea dintre telefon si microcontroller prin modulul HC-05 de Bluetooth este cu siguranta partea cea mai interesanta si o regasesc in multe deviceuri pe care le folosesc in viata de zi cu zi.

Download

Jurnal

23.04.2021 - Primire comanda cu piesele necesare

30.04.2021 - Documentarea si realizarea comunicarii intre modulul HC-05 si aplicatia Android

10.05.2021 - Conectare butoane, leduri si buzzer cu placuta Arduino Uno plus finalizare cod

19.05.2021 - Finalizare pagina de wiki

Bibliografie/Resurse

pm/prj2021/avaduva/memorygame.txt · Last modified: 2021/05/26 01:19 by andreea.zarioiu
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