Proiectul își propune să simuleze, într-un format miniatural, funcționalitatea jocurilor arcade de aruncat la coș. Prin integrarea unui sistem de nivele, afișaj al scorului în timp real și mișcări dinamice ale inelului, utilizatorul poate experimenta într-un mod distractiv și portabil atmosfera unui arcade autentic. Ideea a pornit de la clasicele jocuri de tip „basketball arcade” pe care le găsești în sălile de jocuri. Mi s-a parut interesant să construiesc o versiune mică și portabilă, pe care să o pot avea oriunde. Cred ca proiectul poate fi o sursă de distracție la birou în momentele de pauză.
Proiectul este controlat de un Arduino Uno (ATmega328P) alimentat de o baterie de 9V, cu posibilitatea de a fi pornit sau oprit printr-un switch mecanic. Pentru detectarea unei aruncări reușite — adică atunci când mingea trece prin inel — este utilizat senzorul TCRT5000. Un timer este folosit pentru gestionarea duratei fiecărui nivel, existând cinci nivele cu dificultate progresivă. În etapele superioare, un servomotor este responsabil de mișcarea dinamică a inelului, adăugând un plus de provocare. Feedbackul vizual și sonor este asigurat printr-un buzzer pasiv și o bandă LED WS2812B, oferind o experiență de joc interactivă. Toate informațiile esențiale — timpul rămas, nivelul curent și scorul — sunt afișate în timp real pe un display LCD 1602.
Fiecare nivel dureaza 60 de secunde si necesita un numar minim de puncte pentru a trece mai departe.
La nivelele 4 si 5 cosul va oscila stanga-dreapta pentru o dificultate mai mare.
La pornire, arcade-ul canta un tune prin intermediul buzzerului
Pentru fiecare coș reușit, scorul va crește automat, iar utilizatorul va primi un feedback printr-o animație luminoasă pe banda LED și un sunet emis de buzzer.
Mediu de dezvoltare: PlatformIO - VS Code
Fiecare componentă utilizată prezintă un fișier sursă și un fișier header. Pentru contorizarea timpului, utilizez Timerul 2 al microcontrolerului ATmega328P.