Dino Game

Introducere

Jocul Dino pe Arduino:

  • proiectul implementează jocul Chrome Dino pe o placă Arduino (folosind un ecran LCD, se vor simula acțiunile de joc, cum ar fi săriturile peste obstacole)
  • scopul principal este de a crea o versiune “portabila” a jocului clasic Chrome Dino, oferind o experiență de joc interactivă și distractivă
  • proiectul poate fi extins pentru a include mai multe caracteristici și provocări, precum și pentru a integra tehnici avansate de control și feedback
  • ideea a pornit din dorința de a transforma un joc virtual într-o experiență tangibilă, utilizând platforma Arduino
  • proiectul poate fi util atat pentru mine cat si pentru ceilalti deoarece reprezinta o sursă de divertisment și provocare pentru cei pasionați de jocuri și electronică, dezvoltand totodata si abilitățile de programare, electronică și design

Descriere generală

Schema bloc

Placa Arduino: Controleaza toate componentele hardware.

Butonul: Trimite semnale catre placa Arduino pentru a controla jocul.

Senzor feedback: Ofera feedback utilizatorului dupa efectuarea unei comenzi (apasarea unui buton).

Ecran LCD: Afișează scorul jocului și alte informații relevante.

Cod Arduino: Controlează interacțiunea dintre componentele hardware și implementează logica jocului.

Biblioteci: Oferă funcții predefinite pentru a facilita programarea.

Hardware Design

Lista de piese:

  • Breadboard 830 puncte
  • Arduino Nano
  • LED 5mm
  • LCD I2C
  • Push button
  • Fire
  • Rezistenta 220Ω

Schema electrica:

Circuit design:

circuit_design_dino_game.jpeg

Hardware:

componente_dino_game.jpeg

Software Design

Mediul de dezvoltare folosit

  • Arduino IDE, deoarece permite accesul la o gama variata de librarii si unelte necesare dezvoltarii unui proiect.

Librarii

  • LiquidCrystal_I2C pentru a realiza comunicarea eficienta cu LCD ul prin interfata I2C.

Cod

  1. definirea constantelor pentru elementele jocului (PLAYER, EMPTY, CACTUS) și pinii pentru LED și buton
  2. definirea caracterelor personalizate pentru LCD: frame dinozaur picior stang, frame dinozaur picior drept, spațiu gol, cactus.
  3. un array world stochează starea lumii jocului (jucător, obstacole, spațiu gol).
    • funcția run() gestionează logica jocului (obstacole, mișcare, coliziuni)
    • funcția update() actualizează starea jocului (scor, verificare game over, animație jucător)
    • variabila state și funcția call_function() gestionează întreruperile butonului (LED, salt)
    • variabila score ține evidența scorului jucătorului
  4. gestionarea logicii in loop() si a apasarii butonului:
    • bucla loop() afișează mesajul de start și așteaptă apăsarea butonului.
    • odată apăsat, se gestionează logica jocului (actualizare, afișare, salt).

Rezultate Obţinute

Apasare buton si saritura

poza_rezultate1.jpeg poza_rezultate2.jpeg

Concluzii

Crearea jocului Dino Game a fost o experiență plăcută și educativă. Este un proiect excelent pentru cei care vor să se familiarizeze cu Arduino și programarea pe placute.

Download

Arhiva poate fi descarcata: aici.

Jurnal

  • 18.04.2024 alegerea proiectului
  • 3.05.2024 schema bloc, circuit design
  • 10.05.2024 achiziționare piese
  • 16.05.2024 implementare hardware
  • 23.05.2024 implementare software

Bibliografie/Resurse

pm/prj2024/alucaci/marius_daniel.marin.txt · Last modified: 2024/05/23 15:01 by marius_daniel.marin
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