Autor: Zarioiu Andreea
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.
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.
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.
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.
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.
Am surprins mai bine functionalitatea proiectului in urmatoarea inregistrare:
https://drive.google.com/file/d/1lk7_J5eBi_ROMokr5eZywgEnuXnZOrtl/view?usp=sharing
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.
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
https://developer.android.com/reference/android/bluetooth/BluetoothSocket
https://developer.android.com/reference/java/io/InputStreamReader - citire date primite prin Bluetooth
https://developer.android.com/reference/java/lang/Runnable
https://stackoverflow.com/questions/42195935/while-loop-change-background-color - pentru schimbarea rapida a culorilor in aplicatie
https://create.arduino.cc/projecthub/GeneralSpud/passive-buzzer-song-take-on-me-by-a-ha-0f04a8 - melodie buzzer