This is an old revision of the document!


Air Pong

Autor: Bejan Alexandru-Gabriel

Grupa: 334CC

Introducere

Descriere

Implementarea jocului clasic de Pong dar controlat in aer prin miscarea mainii. Odata inceput un joc acesta va fi afisat printr-o printr-un display LCD cu o rezolutie de 84×48. De asemenea, pe un alt display LCD se vor afisa diverse informatii despre jocul curent, iar prin intermediul unui buzzer se vor crea efecte sonore.

Scop

Scopul jocului este acela de relaxare si divertisment.

Descriere generală

Cand consola va fi pornita se va astepta se vor utiliza 3 butoane pentru a naviga prin meniuri si a schimba diferitele setari ale jocului, precum alegerea numarului de puncte cu care se castiga jocul sau timpul limita al unui joc. Jocul va porni cand este aleasa optiunea de “start”.

Odata inceput jocul, paletle se vor putea controla prin miscarea unor palete fizice de ping pong in sus si in jos, folosind 2 senzori de distanta, unul pentru fiecare jucator.

Jocul se va desfasura display-ul de Nokia 5110, fiecare paleta, fiind reprezentata prin dreptunghiuri pozitionate pe verticala, iar mingea printr-un patrat. Scopul jocului este ca mingea sa ajunga in poarta adversarului.

In cadrul jocului, informatii precum scorul sau punctajele vor fi afisate pe display-ul LCD. Buzzer-ul va produce diferite sunete, pentru marcarea unui golurilor.

Schema bloc

Schema electrica

Hardware Design

Componente

  • Arduino UNO
  • Breadboard
  • Senzori de distanta
  • Butoane
  • Modul LCD 1602
  • Display NOKIA 5110 84×48
  • Buzzer
  • Rezistori
  • Fire

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

Ca mediu de dezvoltare pentru am ales Arduno IDE. Am folosit biblioteca “LiquidCristal_I2C” pentru controlul display-ului LCD 1602 prin I2C.

Bibliotecile “SPI.h”, “Adafruit_GFX.h” si “Adafruit_PCD8544.h” au fost folosite pentru controlul display-ului de Nokia, prin proticolul SPI.

Funcționalitatea proiectului a fost spartă in funcții pentru a fi mai usor de uramtit cursul execuției programului.

In loop în funcție de valoarea unei variabile de stare a programului, se poate ajunge în funcția responsabila pentru meniul principal, in diversele meniuri pentru setari ale consolei, in modul de joc sau in ecranul de final al jocului.

Deoarece au fost utilizați toti pinii digitali, nu am putut folosi timere reglate prin registre, cum am făcut si la laborator, de accea am fost nevoit sa folosesc funcția millis pentru a controla rata cu care erau actualizate functiile jocului.

Flow-ul jocului este format din urmatorii: * Jocul se actualizează la 50 de milisecunde * Se citește pozitia fiecarui jucător * Se updateaza display-ul pe baza pozițiilor masurate * Se updateaza scorul * Se actualizează pozitia mingii * Se actualizează sunetul (odată începuta secventa de pasi pentru sunetul de gol marcat, aceasta încrementeaza un counter daca încă mai are cantat) * La final se verifică daca jocul s-a teminat si se poate trece in starea pe joc teminat, in care se așteaptă apasarea butonului select, pentru a reveni la meniul principal

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

  • 14.04.2022: Alegere tema si validare cu laborantul
  • 20.04.2022: Incepere proiect in ThinkerCad, pana la comandarea pieselor
  • 25.04.2022: Creare pagina wiki

Bibliografie/Resurse

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

Export to PDF

pm/prj2022/dene/retro-game-console.1653675123.txt.gz · Last modified: 2022/05/27 21:12 by alexandru.bejan0708
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