This is an old revision of the document!


Tetra Pulse Arcade

Introducere

Prezentare pe scurt

Consola permite jucătorului să se bucure de experiența clasică Tetris, controlând mișcarea și rotirea pieselor. De asemenea acestuia ii este monitorizat pulsul, in functie de numarul de batai al ritmului cardiac pe care jucatorul il prezinta, dificultatea jocului creste sau scade.

Scopul proiectului

Scopul este de a recrea experiența autentică Tetris, oferind o modalitate distractivă și educațională de a învăța despre programarea pe un microcontroller.

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

Descriere generală

Implementarea unei console portabile pentru jocul Tetris, utilizeaza două matrice LED 8×8 conectate prin interfața SPI pentru afișarea pieselor și un display OLED 128×64 conectat prin I2C pentru afișarea scorului, pulsului și a altor informații suplimentare. Difuzorul redă muzica, un senzor de puls cardiac monitorizeaza ritmul cardiac al jucătorului iar cu ajutorul a șase butoane se manipuleaza pozitia pieselor de joc. Toate aceste componente sunt alimentate de o baterie.

Laboratoare utilizate:

  • Laborator Intreruperi (un buton de reset al jocului)
  • Laborator ADC (utilizam doar un pin analog pentru cele 6 butoane )
  • Laborator SPI
  • Laborator I2C

Schema Bloc

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware Design

Componente utilizate

  • 1 x Arduino UNO R3 ATmega328p
  • 2 x Matrice cu led-uri 8×8
  • 1 x Breadboard
  • 1 x Difuzor
  • 1 x Baterie 5V
  • 6 x Buton switch tactil cu LED
  • 1 x Senzor puls cardiac
  • 1 x Ecran OLED 0.96 Inch SSD1306
  • + Fire, Rezistente

Arduino UNO R3 ATmega328p

Rol: unitatea centrala a consolei ce contine microcontrolerul ATmega328p, aceasta preia inputul butoanelor apasate de utilizator si realizeaza comunicarea cu restul perifericelor.

Matrice cu led-uri 8×8

Rol: afiseaza jocul de Tetris

Pini:

  • VCC - Pin 5V Arduino
  • GND - Pin GND Arduino
  • DIN - PD12
  • CS - PD10
  • CLK- PD11

Senzor puls cardiac

Rol: monitorizeaza pulsul cardiac al jucatorului

Pini:

  • S - A0
  • + - Pin 5V Arduino
  • - - Pin GND Arduino

Ecran OLED 0.96 Inch SSD1306

Rol: afisarea scorului, pulsului jucatorului si a dificultatii

Pini:

  • GND - Pin GND Arduino
  • VDD - Pin 5V Arduino
  • SCK - A5
  • SDA - A4

Driver folosit: SSD1306, I2C

Difuzor

Rol: redarea muzicii ambientale

Pini:

  • GND - Pin GND Arduino
  • SIGNAL - PD13
  • 3.3V - Pin 3.3V Arduino

Baterie

Rol: Generator de tensiune 5V pentru alimentarea Arduino de la USB

Breadboard + Butoane + Fire + Rezistente

Rol: Butoanele de tip push sunt conectate între ele prin rezistoare de 220Ohmi, respectiv 330Ohmi, astfel încât fiecare buton generează valori diferite pe pinul A1. Asfel utilizand un singur pin si un ADC putem sa captam inputul utilizatorului de la cele 6 butoane.

Aici puneţi tot ce ţine de hardware design:

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/prj2024/avaduva/luca_teodor.mandru.1716079637.txt.gz · Last modified: 2024/05/19 03:47 by luca_teodor.mandru
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