Autor: Lupuleasa Marian-Paul 336CA
Un joc multiplayer (2 persoane) în care jucătorii au alocate piese de o anumită culoare și le vor folosi pentru a completa, alternativ, un grid 4×4. Câstigă primul jucător care face o secvență de 4 piese aliniate.
Scopul proiectului este agrementul. Acest joc se poate juca în 2, ceea ce oferă posibilitatea socializării.
Idee de bază de la care am pornit a fost dorința de a face un joc interactiv, nu foarte simplu, pe care să îl pot dezvolta prin adăugare de funcționalități noi. Inițial am vrut să creez un joc de X și O, dar ideea finală este puțin mai complexă datorită mărimii spațiului de joc, dar și a condițiilor de joc în sine.
Utilitatea proiectului coincide cu scopul acestuia, și anume, agrementul și socializarea.
Vor exista 2 jucători care vor plasa, alternativ, piese pe grid (matrice de LED-uri de dimensiune 4×4).
Cu ajutorul a 2 butoane, playerii pot selecta poziția pe care vor plasa piesa (dreapta/jos) și confirmarea selecției se va face cu un al 3-lea buton. După confirmarea selecției, este rândul celuilalt player să își facă mișcarea.
La fiecare confirmare a selecției, se va verifica dacă pe grid există o secvență de 4 piese de aceeași culoare (în orice direcție) și, în caz afirmativ, jocul se va termina.
Componente
Schema bloc
Schema electrică
Deoarece nu există componenta ”Matrice de LED-uri bicolore”, în Tinkercad, am folosit LED-uri RGB pentru a simula interactiunea dintre componente și pinii Arduino.
Am folosit biblioteca <LCD_I2C.h> pentru adaptorul I2C și display LCD:
În setup():
În loop():
Funcții:
Logica codului:
Proiectul a fost unul foarte interesant și m-a avut să imi fixez o parte din cunoștințele materiei de Proiectarea cu Microprocesoare.
Am învățat să lucrez cu componente hardware și să le folosesc pentru a crea un proiect cu o aplicație practică.
De asemenea, am realizat că trebuie să îmi gestionez mai bine timpul, deoarece a trebuit să aștept comenzile pentru componente și am fost nevoit să fac mai multe comenzi din cauzanefuncționării anumitor componente.
Am întâmpinat o serie de dificultăți pe parcursul proiectului:
20 Aprilie 2022 - Alegerea temei
22 Aprilie 2022 - Documentație 1 (descriere, listă componente, schemă bloc)
9 - 15 Mai 2022 - Procurare componente
16 - 27 Mai 2022 - Implementare proiect (Hardware + Software)
27 Mai 2022 - Documentatie 2 (schemă electrică, rezultate, concluzii, bibliografie)
28 Mai - 1 Iunie 2022 - Finalizare proiect + Documentatie 3 (demo, cod, concluzii finale)
Idee generala despre proiect: https://www.instructables.com/Connect-4-Game-Using-Arduino-and-Neopixel/
Cum sa utilizez LCD I2C: https://create.arduino.cc/projecthub/akshayjoseph666/interface-i2c-16x2-lcd-with-arduino-uno-just-4-wires-273b24
Cum sa utilizez matricea de LED-uri: https://www.youtube.com/watch?v=X9tsfOeYnAU