This is an old revision of the document!


Mini-Tetris

Nume: Riciu Vladut-Stefan

Grupa: 333CB

Introducere

Despre proiect

Proiectul consta in implementarea jocului Tetris intr-un mod redus, pe un ecran format din 2 matrice de 8×8 LED-uri, cu un difuzor pentru redat sunete in diverse faze ale jocului de pe un card SD.

Scopul proiectului

Divertisment

Inspiratie

Sursa principala de inspiratie este proiectul meu de la materia ADIV, “Mini-Tetris”, la care am adaugat difuzorul si cardul SD. Ideea de Mini-Tetris a pornit de la curiozitatea de a programa un ecran din matrice de LED-uri interfatate prin shift registers, pentru o aplicatie in timp real, utilizata de un om. Astfel, programul trebuie realizat intr-un mod eficient pentru a minimiza diverse latente, precum cea dintre apasarea unui buton si efectuarea actiunii dorite, sau cea dintre afisarea a doua cadre succesive.

Utilitatea proiectului

  • Programarea unui ecran de matrice de LED-uri intr-un mod asemanator cu un monitor cu refresh rate;
  • Citirea unor melodii de pe un card SD si redarea lor pe un difuzor intr-un sistem cu memorie limitata;
  • Imbinarea mai multor module software intr-un mod non-blocant, pentru a reda o experienta placuta utilizatorului.

Descriere generală

Schema bloc

Hardware Design

Lista de piese

  • ATMEGA328
  • Soclu DIP28
  • 4x Butoane
  • 2x Matrice de 8×8 LED-uri interfatate prin shift registers (detalii aici) UPDATE: Am ars cele 2 matrice de LED-uri, in locul lor am folosit alte 2 matrice de LED-uri facute manual de mine acum cativa ani. Functionalitatea lor este asemanatoare cu cele anterioare, putin diferita, insa, datorita vechimiii lor, nu mai am schemele hardware.
  • Modul cititor card SD
  • Card SD 4GB
  • Difuzor 8Ω 1.5W
  • Amplificator difuzor
  • Diverse rezistente + condensatori
  • Alimentator AC → DC 12V
  • Divizor de tensiune +12V → +5V

project_photo.jpeg

Software Design

Mediu de dezvoltare

  • VSCode + Platformio extension, pentru scris codul;
  • Arduino IDE cu 'Arduino as ISP' si 'ATMEGA328 on a breadboard' pentru incarcat codul in microcontroller;
  • Un Arduino UNO cu microcontroller-ul scos, folosit ca un programmer;
  • Din cauza faptului ca folosesc ATMEGA328, iar hardware specs pentru 'ATMEGA328 on a breadboard' se bazeaza pe ATMEGA328P, a fost necesara schimbarea unui octet in fisierul cu semnatura hardware a microcontrollerului pentru incarcarea bootloader-ului.

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/prj2023/drtranca/vladut_stefan.riciu.1685343244.txt.gz · Last modified: 2023/05/29 09:54 by vladut_stefan.riciu
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