This is an old revision of the document!


CyberPull: Tug of War Digital

Nume: Alexandru Diaconu
Grupa: 331CD

Introducere

Ce face?

CyberPull este un joc arcade interactiv pentru doi jucători inspirat din “trage de sfoară”. Un punct luminos pornește din centrul unei benzi LED. Fiecare jucător apasă butonul său cât mai repede pentru a trage punctul în jumătatea lui. Primul care îl duce la capătul său câștigă runda.

Care este scopul lui?

Distracție pentru doi jucători, testând viteza de reacție într-un format competitiv și vizual atractiv.

Care a fost ideea de la care am pornit?

Am vrut un proiect care să folosească toate conceptele de laborator (întreruperi, timere, PWM, ADC, I2C) într-un mod practic și interactiv, rezultând ceva ce poate fi demonstrat imediat oricui.

De ce este util?

Este un joc standalone complet funcțional, cu carcasă fizică din plexiglass, care poate fi folosit fără laptop după ce codul este încărcat.

Descriere Generală

Schema bloc a proiectului:

Modulele principale:

  • Arduino Uno (ATmega328P) — unitatea centrală, rulează toată logica jocului
  • Bandă LED WS2812B (30 LED-uri, 50cm) — afișajul principal; un LED se mișcă stânga/dreapta
  • 2x Butoane Arcade 16mm cu LED — inputul jucătorilor, conectate pe INT0/INT1
  • Potențiometru 10kΩ — reglează dificultatea în timp real prin ADC
  • Buzzer Pasiv — feedback audio controlat prin PWM (Timer2)
  • LCD 1602 + I2C — afișează scorul și cronometrul rundei
  • Adaptor 9V/1A — alimentare standalone prin jack-ul Arduino

Hardware Design

Listă de componente:

Componentă Specificații Cantitate
Arduino Uno R3 ATmega328P, DIP 1
Bandă LED WS2812B 60 LED/m, 30 LED-uri (50cm) 1
Buton Arcade cu LED 16mm, 3-6V, roșu 1
Buton Arcade cu LED 16mm, 3-6V, albastru 1
Potențiometru 10kΩ liniar 1
Buzzer Pasiv 3.3V 1
LCD 1602 + modul I2C PCF8574, 5V 1
Adaptor alimentare 9V / 1A 1
Breadboard 830 puncte 1
Rezistor 330Ω 1/4W THT 3
Rezistor 10kΩ 1/4W THT 5
Rezistor 100Ω 1/4W THT 3
Condensator electrolitic 1000µF / 35V 1
Fire Dupont M-F 30cm, 40 buc 1 set
Fire Dupont M-M 10cm, 40 buc 1 set

Schema electrică:

Software Design

Mediu de dezvoltare: Arduino IDE 2.x

Biblioteci folosite:

  • Adafruit_NeoPixel — control bandă LED WS2812B
  • LiquidCrystal_I2C — control LCD prin I2C
  • avr/interrupt.h — întreruperi hardware (built-in)

Concepte de laborator:

  • Lab 2 — Întreruperi: Butoanele conectate pe INT0 (D2) și INT1 (D3), tratate prin ISR. Timer1 în mod CTC pentru cronometrul rundei (tick 1ms). Debouncing software cu fereastră de 50ms.
  • Lab 3 — PWM: Timer2 în mod Fast PWM pe pinul D11 (OC2A) pentru buzzer. Frecvențe diferite: ~500Hz (mutare J1), ~800Hz (mutare J2), melodie la câștig.
  • Lab 4 — ADC: Potențiometrul citit pe A0. Valoarea 0–1023 mapată la dificultate 1–8 (numărul de apăsări necesare per mutare LED).
  • Lab 6 — I2C: LCD comunică pe pinii A4 (SDA) / A5 (SCL). Adresă PCF8574: 0x27. Actualizare la fiecare 500ms.

Rezultate Obținute

De completat după asamblare și testare.

Concluzii

De completat după finalizarea proiectului.

Download

Codul sursă, schema electrică și fotografiile proiectului sunt disponibile pe GitHub:

Repository GitHub CyberPull

Jurnal

Dată Activitate
Mai 2026 Definirea conceptului, finalizarea listei de componente
TBD Primirea componentelor și asamblarea hardware
TBD Implementare software — întreruperi + control LED
TBD Implementare software — ADC, PWM, I2C
TBD Testare și debugging
TBD Demo final și documentație

Bibliografie/Resurse

pm/prj2026/bianca.popa1106/alexandru.diaconu.1778353956.txt.gz · Last modified: 2026/05/09 22:12 by alexandru.diaconu04
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