This is an old revision of the document!
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.
Diagramă bloc:
Proiectul este construit în jurul microcontroller-ului Arduino Nano, care coordonează următoarele module:
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 |
Mediu de dezvoltare: Visual Studio Code + PlatformIO
Biblioteci externe:
Implementare:
Un scurt demo al proiectului poate fi găsit aici.
Toate fișierele acestui proiect pot fi găsite aici.
Resurse Hardware:
ATmega328P Datasheet
Arduino Nano Pinout
Autodesk Fusion
Resurse Software:
PlatformIO
IRremote
LiquidCrystal I2C
Xorshift32 PRNG
Generating Tones with Timers