This is an old revision of the document!
Prin acest proiect mi-am propus sa automatizez jocul King's Cup, un drinking game cunoscut, cu ajutorul unor module ESP32.
Jocul va putea fi jucat de 3 jucatori, fiecare avand un modul ESP cu ajutorul caruia va putea juca. Ideea a pornit de la faptul ca in jocul clasic, se triseaza de multe ori, astfel ca in varianta aceasta nu se va putea trece mai departe pana ce nu toti isi vor duce la capat provocarile. Datorita automatizarii, voi putea realiza si un clasament, cu cantitatea de bautura consumata de fiecare jucator.
Regulile jocului original de King's Cup presupun ca jucatorii sa se stranga in cerc, alaturi de bauturile lor si sa aseze un pachet de carti cu fata in jos in forma de cerc. Fiecare jucator va trage pe rand o carte, si in functie de numarul ei va face o provocare. Cartile au urmatoarele semnificatii pentru cel care este la rand:
In cazul proiectului meu, pachetul de carti va fi inlocuit de un ecran LCD, care va afisa direct, cu ajutorul unui algoritm de simulare a unui pachet de carti, provocarea pentru fiecare jucator.
Proiectul este alcatuit din doua componente:
Initial, modulul master va fi configurat, fiind specificate informatii despre jucatori. Aceste informatii vor fi trimis apoi catre modulele secundare, prin Wi-Fi, cu ajutorul ESPNow.
Atunci cand jocul incepe, masterul va selecta random o provocare pe care o va afisa pe LCD-ul sau. Jucatorii care vor trebui sa execute provocarea vor fi anuntati cu ajutorul LEDurilor de pe modulele lor. Jocul nu va putea fi continuat pana ce toti executa provocarea, fapt ce poate fi determinat cu ajutorul senzorului de forta, care va sta sub paharul fiecaruia. In cazul in care se incearca trecerea la provocarea urmatoare fara ca toti sa execute provocarea, buzzerul de pe modulele celor care incearca sa triseze va incepe sa sune, oprindu-se doar atunci cand jucatorul executa provocarea.
Proiectul este alcatuit din 4 componente distincte, dintre care una este modulul master, care controleaza flow-ul jocului, iar celelalte trei sunt module player, construite identic, cate unul pentru fiecare jucator.
Acest modul este alcatuit dintr-un ESP32, un LCD cu modul I2C integrat, si 4 butoane. Primele 3 butoane sunt utilizate pentru selectarea unuia dintre cei 3 jucatori in diferite situatii, pe parcursul jocului, iar cel de-al 4-lea este utilizat pentru a trece la urmatoarea provocare.
Schema electrica a modulului:
Componentele pe care le-am utilizat sunt:
Acest tip de modul este alcatuit dintr-un ESP32, 2 butoane, 2 LEDuri, un buzzer si un senzor de forta. Butoanele sunt utilizate pentru in timpul provocarilor, iar LEDurile au rolul de a semnala diferite evenimente pe parcursul jocului, precum randul unui anume jucator, sau faptul ca acesta trebuie sa bea. Senzorul de forta, plasat sub paharul jucatorului, are rolul de a detecta atunci cand acesta bea, pentru a exclude posibilele tentative de a trisa. Buzzerul anunta jucatorii care nu si-au indeplinit provocarea si incearca sa ascunda acest lucru.
Schema electrica a modulului:
Componentele pe care le-am utilizat sunt:
Librarii folosite:
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.