Table of Contents

Connect 4

Autor: Lupuleasa Marian-Paul 336CA

Introducere

Descrierea Proiectului

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

Scopul proiectului este agrementul. Acest joc se poate juca în 2, ceea ce oferă posibilitatea socializării.

Ideea de Bază

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

Utilitatea proiectului coincide cu scopul acestuia, și anume, agrementul și socializarea.

Descriere Generală

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.

Hardware Design

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.

Software Design

Am folosit biblioteca <LCD_I2C.h> pentru adaptorul I2C și display LCD:

În setup():

În loop():

Funcții:

Logica codului:

Rezultate Obţinute

Link Demo: https://youtu.be/169sOtUbzFk

Concluzii

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:

Download

connect4.zip

Jurnal

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)

Bibliografie/Resurse

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

Export to PDF