Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:avaduva:memorygame [2021/05/19 18:51]
andreea.zarioiu
pm:prj2021:avaduva:memorygame [2021/05/26 01:19] (current)
andreea.zarioiu
Line 10: Line 10:
 ===== Descriere generală ===== ===== 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 de sa inceapa ​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 ​altfel, jocul se termina. In aplicatie sunt afisate culorile si scorul jucatorului.+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=== ===Schema bloc===
Line 25: Line 25:
   *Leduri\\   *Leduri\\
   *Rezistente\\   *Rezistente\\
-  *Fire mama-tata\\+  *Fire tata-tata\\
   *Butoane\\   *Butoane\\
   *Mufa baterie 9V\\   *Mufa baterie 9V\\
Line 37: Line 37:
 ===== Software Design ===== ===== Software Design =====
  
-Am folosit Android Studio pentru a dezvolta aplicatia ​ce comunica cu placuta ​Arduino+Codul aplicatiei ​ce comunica cu placuta ​este scris in Java in Android Studio
-La deschiderea aplicatiei se realizeaza un socket intre telefon si modulul HC-05 prin identificarea acestuia ​ +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. ​
-cu adresa MAC. La apasarea butonului "​Start"​ se genereaza o secventa de culori si se porneste un Timer. La terminarea timpului +
-culorile ​se sterg iar la apasarea butonului "​Ready"​ se asteapta input de la modulul HC-05. Dupa fiecarea culoare trimisa se verifica +
-daca este corecta iar daca nu este se trimite un mesaj de eroare la placuta si se porneste buzzerul. +
- +
-Pentru codul incarcat pe placuta m-am folosit de IDE-ul dedicat Arduino si de interfata seriala. ​+
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 + 
 +{{ :​pm:​prj2021:​avaduva:​memory_game.jpeg?​400 }}
 +
  
 In urmatoarele poze se poate vedea topologia hardware a proiectului:​ breadboardul avand fiecare buton In urmatoarele poze se poate vedea topologia hardware a proiectului:​ breadboardul avand fiecare buton
Line 60: Line 58:
 {{:​pm:​prj2021:​avaduva:​memory_game_colors_generated.jpeg?​220 }} {{:​pm:​prj2021:​avaduva:​memory_game_colors_generated.jpeg?​220 }}
 {{:​pm:​prj2021:​avaduva:​memory_game_game_lost.jpeg?​220}} {{:​pm:​prj2021:​avaduva:​memory_game_game_lost.jpeg?​220}}
 +
 +Am surprins mai bine functionalitatea proiectului in urmatoarea inregistrare:​
 +
 +https://​drive.google.com/​file/​d/​1lk7_J5eBi_ROMokr5eZywgEnuXnZOrtl/​view?​usp=sharing
 +
  
 ===== Concluzii ===== ===== 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 ===== ===== Download =====
 +
 +Cod: {{:​pm:​prj2021:​avaduva:​memory_game.zip?​600 }}
 +
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 +
 ===== Jurnal ===== ===== Jurnal =====
 23.04.2021 - Primire comanda cu piesele necesare\\ 23.04.2021 - Primire comanda cu piesele necesare\\
Line 75: Line 87:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-https://stackoverflow.com/questions/42195935/while-loop-change-background-color ​pentru schimbarea rapida a culorilor in aplicatie+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://​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 https://​create.arduino.cc/​projecthub/​GeneralSpud/​passive-buzzer-song-take-on-me-by-a-ha-0f04a8 - melodie buzzer
  
-https://​developer.android.com/​reference/​java/​io/​InputStreamReader - citire date primite prin Bluetooth+
  
pm/prj2021/avaduva/memorygame.1621439493.txt.gz · Last modified: 2021/05/19 18:51 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