This is an old revision of the document!


InfraCatch - reflex game

Autor: Moroianu Horia-Valentin
Grupă: 334CA

Introducere

InfraCatch este un joc interactiv de testare a reflexelor. Patru LED-uri se aprind aleatoriu, unul câte unul, iar jucătorul trebuie să apese butonul corespunzător de pe o telecomandă cu infraroșu pentru a stinge LED-ul activ. Dacă reacția este greșită sau prea lentă, jucătorul pierde o viață. Feedback-ul este oferit în timp real printr-un buzzer și un LCD care arată progresul făcut. Jocul se termină atunci când jucătorul rămâne fără vieți.

Scopul jocului este de a obține un scor cât mai mare prin testarea reflexelor într-un mod distractiv și ușor de înțeles. Ideea a pornit din dorința de a crea un joc fizic, controlat de la distanță și de a învăța mai multe despre tehnologia de comunicație cu infraroșu și timer-ele interne ale unui microprocesor.

Consider că acest proiect este util pentru mine deoarece îmi oferă ocazia de a construi un sistem complet, de la început până la sfârșit, concentrat asupra interacțiunii cu utilizatorul, și cred că poate atrage atenția și altor persoane care caută un mod de relaxare, diferit de jocurile digitale clasice.

Descriere generală

Diagramă bloc: infracatch-block-diagram.jpg
Proiectul este construit în jurul microcontroller-ului Arduino Nano, care coordonează următoarele module:

  • Receptor IR VS1838B:
    • Primește semnalele de la telecomandă și transmite codurile corespunzătoare către Arduino.
    • Verifică dacă butonul apăsat corespunde LED-ului aprins.
  • LED-uri (x4):
    • Conectate la pini digitali GPIO ai Arduino-ului.
    • Se aprind aleatoriu și trebuie stinse de utilizator prin apăsarea butonului corect de pe telecomandă.
  • Display LCD 1602 cu modul I2C:
    • Afișează informații despre joc, cum ar fi scorul, numărul de vieți rămase și eventuale mesaje.
    • Modulul I2C ușurează semnificativ cablajul, folosind doar două fire (SDA și SCL).
  • Buzzer (cu PWM):
    • Oferă feedback sonor.
    • Emite un sunet pozitiv pentru acțiuni corecte și unul negativ pentru greșeli sau întârzieri.

Hardware Design

Schemă electrică: infracatch-schematic.pdf

Conectivitate:

Pin ATmega328P Pin Arduino Nano Componentă asociată Funcție
GND GND Toate modulele Alimentare
VCC 5V Toate modulele Alimentare
PB0 D8 LED0 GPIO control
PB1 D9 LED1 GPIO control
PB2 D10 LED2 GPIO control
PB3 D11 LED3 GPIO control
PC4 A4 LCD-1602 I2C - SDA
PC5 A5 LCD-1602 I2C - SCL
PD2 D2 Receptor IR Data/INT0
PD6 D6 Buzzer Timer0 PWM Control

Listă de componente:

Nume componentă Link achiziție Cantitate Preț unitar (lei)
Arduino Nano (ATmega328p) Link 1 24.99
Receptor Infraroșu Link 1 8.99
Telecomandă Infraroșu Link 1 3.6
LCD 1602 Link 1 16.99
Adaptor I2C pentru LCD 1602 Link 1 5.37
Buzzer Link 1 1.4
LED Link 4 0.39
Rezistor 0.5W 220Ω Link 4 0.1
Breadboard 830 Puncte Link 1 9.98
Breadboard 400 Puncte Link 1 4.56
Fire tată-tată Link 1 7.99
Fire mamă-tată Link 1 4.45
Cablu USB-B Mini Link 1 4.37
Preț total: 93.18

Software Design

Mediu de dezvoltare: Visual Studio Code + PlatformIO

Biblioteci externe:

  • Arduino pentru compatibilitatea cu celelalte biblioteci folosite
  • IRRemote pentru decodificarea semnalelor primite de la senzorul IR
  • LiquidCrystal_I2C pentru afișarea stării jocului pe ecran

Implementare:

Rezultate Obţinute

Demo

Un scurt demo al proiectului poate fi găsit aici.

Download

Toate fișierele acestui proiect pot fi găsite aici.

Bibliografie/Resurse

pm/prj2025/vstoica/horia.moroianu3101.1748561621.txt.gz · Last modified: 2025/05/30 02:33 by horia.moroianu3101
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