Autorul poate fi contactat la adresa: Login pentru adresa
Tema proiectului o reprezintă o implementare a jocului 2048 în care deplasarea pieselor este controlată cu ajutorul unui senzor de măsură a accelerației.
Prin înclinarea dispozitivului se declanșează deplasarea pieselor în direcția respectivă, simulând astfel efectul gravitației asupra pieselor din joc.
Schema bloc a dispozitivului este următoarea:
Datele de la accelerometru sunt prelucrate de către ATMega 324, rezultând direcția de înclinare a senzorului.
LED-urile confirmă decizia de deplasare a pieselor jocului în direcția în care s-a înclinat senzorul, se execută mutarea pieselor, iar pe display se afișează starea jocului.
Lista de componente include:
In cadrul software-ului, am folosit biblioteca grafica u8glib pentru afisajul LCD-ul ERM12864_6 cu controlerul ST7920 si biblioteca ADXL345 impreuna cu biblioteca ce implementeaza I2C Master pentru accelerometrul ADXL345-gy291. Am inceput prin a incerca sa inteleg mai bine interactiunea cu aceste biblioteci, prin a apela diverse functii din ele de care am avut nevoie: in cadrul accelerometrului initializarea comunicatiei cu acesta si citirea datelor de la el, cu functia adxl_get_acc, precum si la LCD prin printarea de diferite caractere sau stringuri la pozitii diverse pentru a intelege mai bine plasarea caracterelor pe display. Am folosit aceste biblioteci impreuna (am testat afisand acceleratiile pe cele trei axe ale accelerometrului pe lcd) pentru a obtine informatiile necesare jocului si a urmat etapa de implementare efectiva a jocului. Am implementat jocul 2048 folosind accelerometrul pentru a sesiza inclinarea montajului si a lua deciziile de mutare a pieselor in functie de aceasta inclinare. Simultan am comandat si aprinderea unor leduri de confirmare a directiilor in care se fac mutarile. Cu ajutorul unui buton cu led se poate schimba valoarea inclinarii la care are loc declansarea unei mutari, iar ledul confirma aceasta modificare(aprins=inclinare mai mica, sensibilitate mai mare).
Mi s-a parut destul de interesant acest proiect, drept urmare am decis sa mai fac si alte montaje electronice cu sisteme folosind microcontrolerul.
Jocul este functional si interesant prin modul natural in care par sa se miste piesele in sensul gravitatiei.
In concluzie, pot spune ca proiectul m-a ajutat sa inteleg mai bine cum functioneaza anumite elemente hardware si cum se realizeaza interactiunea cu acestea. In plus, mi s-a parut interesant faptul ca a trebuit sa imi realizez singur placa de test pe care mi-am lipit componentele in functie de schema electrica realizata. Dezvoltarea de software a fost una interesanta pentru ca am experimentat interactiunea dintre LCD si accelerometru, jocul devenind mai interesant.
Schema electrica este: schema2048.sch joc-2048.zip
Etapele:
1. Datasheet ATmega324A:doc8272.pdf
2. Datasheet ADXL345:adxl345-hookup-guide
3. Datasheet ST7920:lcd-display-serial-graphic-display-128x64-st7920-white-on-blue
* Documentația în format PDF