This is an old revision of the document!


InteractiveBoard

Proiect realizat de Ionescu Ioana

Grupa 332CB

Introducere

Acest proiect constă într-o consolă interactivă care integrează trei jocuri clasice: un joc de memorie bazat pe LED-uri colorate, Snake afișat pe un ecran și controlat cu butoane, precum și Piatra-Hârtie-Foarfecă, în care utilizatorul se confruntă cu un oponent virtual.

Scopul proiectului este de a crea un dispozitiv educativ și distractiv care combină componente de hardware și software într-un sistem embedded interactiv. Ideea a pornit de la dorința de a aduce jocurile clasice într-un format fizic, accesibil și portabil.

Consider că acest proiect este util deoarece dezvoltă abilități practice în domeniul microcontrolerelor, a interfeței hardware, afișajelor și programării logice. În plus, consola poate fi folosită ca instrument didactic în cadrul unor ateliere STEM pentru copii sau ca model demonstrativ pentru începători în domeniul electronicii.

Descriere generală

Proiectul este implementat pe un singur microcontroler (Arduino Uno), care gestionează toate componentele hardware și logica software pentru trei jocuri: Joc de Memorie, Snake și Piatra-Hârtie-Foarfecă. Componentele sunt partajate între module pentru optimizare hardware și software.

Pe ecranul LCD va fi o pagină principală de meniu, unde vei selecta unul dintre jocuri prin apăsarea butonului corespunzător jocului. După apăsare, intri în pagina de instrucțiuni a jocului, iar după câteva secunde începe jocul.

Joc de Memorie

Va avea un LED RGB și 3 butoane, fiecare pentru câte o culoare. Microcontrolerul se va ocupa de generarea și verificarea secvenței. Prima dată apare doar o culoare, iar pe măsură ce avansezi în joc, numărul de culori aprinse crește succesiv. Dacă ai greșit o culoare, ai pierdut și te întorci în pagina de meniu. În cazul în care te-ai plictisit de joc, poți apăsa pe un buton (butonul roșu), care te va trimite la pagina principală.

Modul Snake

Scopul jocului este să strângi 10 bucăți de mâncare ca să câștigi. Ai 4 butoane direcționale (sus, jos, stânga, dreapta). Microcontrolerul se ocupă de detectarea coliziunilor – dacă își atinge coada sau dacă iese din ecran (atinge marginea ecranului). Șarpele nu își poate modifica direcția de deplasare cu 180 de grade (ex: dacă merge în sus și apeși pe butonul pentru direcția jos, șarpele nu va merge în jos, ci va continua în sus). Poziția inițială a șarpelui este aleatorie, la fel și poziția mâncării. Dacă ai pierdut (ți-ai atins coada sau ai atins marginea ecranului), te întorci automat la pagina principală.

Modul Piatra-Hârtie-Foarfecă

Jucătorul va alege cu ce să joace apăsând pe unul din cele 3 butoane. După cum s-a mai menționat, jucătorul va concura cu calculatorul. Microcontrolerul se ocupă de alegerea aleatorie a opțiunii calculatorului, astfel încât nu vei ști niciodată dacă vei câștiga sau pierde. După ce jucătorul face o alegere, pe ecran va apărea alegerea jucătorului, alegerea calculatorului și apoi rezultatul: dacă ai câștigat, ai pierdut sau dacă este egalitate. Pentru a ieși din joc, jucătorul trebuie să apese pe butonul roșu.

Microcontroler Central – Arduino Uno

Se ocupă de logica fiecărui joc, afișaje, intrări de la butoane și controlul LED-urilor.

Schema bloc

Hardware Design

Listă de componente principale:

- Microcontroler Arduino UNO

- 8x Butoane

- LED RGB

- Ecran LCD

- Rezistențe pentru LED (1x 330 si 2x 150)

- 2x Breadboard

- fire tata-tata

- fire U-shape

Schema circuit

Schemă electrică

Pini folositi

Arduino are pini pentru power, analogici si digitali. Am folosit pinii de power si pinii digitali.

La pinii de power am folosit pinul de 5V pentru a alimenta circuitul si pe cel de GND pentru a pune groundul circitului.

La pinii digitali am folosit pinii de la D2 pana la D13 astfel:

- D2 → buton rosu

- D3 → culoarea albastru a ledului

- D4 → buton 1

- D5 → culoarea verde a ledului

- D6 → culoarea rosie a ledului

- D7 → buton 2

- D8 → pinul RESET al ecranului

- D9 → pinul DC al ecranului

- D10 → pinul CS al ecranului

- D11 → pinul SDA al ecranului

- D12 → buton 3

- D13 → pinul SCK al ecranului

Pentru ecranul LCD au mai ramas 3 pini pe langa cei legati de Arduino:

- VCC → am pus la +

- LED → am pus la +

- GND → am pus la -

mentionand faptul ca + a fost alimentat cu 5V de la microcontroler si - are groundul tot de la microcontroler pus.

Poza circuit

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/rnedelcu/ioana.ionescu2209.1748380729.txt.gz · Last modified: 2025/05/28 00:18 by ioana.ionescu2209
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0