La nivelul interactiunii cu proiectul in momentul in care un jucator trebuie sa aleaga o pozitie (coordonata x si y) a unui atac apasa pe butonul de ATTACK, iar pe ecran se vor afisa un mesaj de tipul “X: N Y: N”, jucatorul trebuind sa aleaga o pozitie a atacului prin apasarea butoanelor LEFT, RIGHT, UP, DOWN si apoi sa apese butonul HIT. Celor doi jucatori li se vor afisa mesaje ce vor sugera daca aceasta actiune a avut un impact.
Schema electrica ce contine legaturile intre componente. Cele doua placi Arduino interactioneaza intre ele prin intermediul interfetei seriale (RX si TX). O placuta Arduino gestioneaza semnalele transmise catre cele doua LCD-uri, pe langa alimentare (5V pentru tensiune, 3.3V pentru pinul BLA si Ground) mai transmite semnale pe pinii de Enable(E - pinii 12 si 13), Register Select(RS - pinii 9 si 10) si Read/Write(R/W - pinii 7 si 11). Cealalta placuta se ocupa de getionarea input-ului provenit de la butoane (pinii 2, 3, 4, 5, 6, 7) cat si a input-ului catre DFPlayer. Player-ul MP3 este conectat la pinii 8 si 9, si are conectat un difuzor pentru a reda semnalele audio, volumul melodiei redate este controlate de catre potentiometru.
Pentru schema electrica am folosit Tinkercad in care am simulat interactiunea dintre componente. De mentionat este ca am folosit un LCD16X2 (LCD-ul 12864 are un potentiometru integrat, nu a mai fost nevoie sa folosesc unul separat), iar pentru a reda sunet am folosit in schema electrica un buzzer Piezzo (nu exista modulele folosite DFPlayer si Difuzor 3W4Ohm).
Mediu de dezvoltare: Arduino IDE
Biblioteci aditionale: DFRobotDFPlayerMini.h, U8g2lib.h
Functii implementate: sender-ul (transmite informatii de la butoane catre placuta Arduino ce se ocupa de afisarea pe LCD si reda o melodie de la DFPlayer modificand volumul folosind un potentiometru) si receiver-ul (primeste input de la sender, genereaza jocul folosind functia generateGame, afiseaza pozitia de atac, afiseaza rezultatul unui atac si castigatorul jocului).
Aspecte de imbunatatit: documentarea asupra proiectului mult mai amanuntita, verificarea interactiunea unei biblioteci cu alte functionlatati (biblioteca de afisare pentru LCD si timere) si decizii mai bune in ceea ce priveste partea hardware.
20.05.2023 - Etapa Hardware
27.05.2023 - Etapa Software