Adaptive Memory Pulse Challenge

Introducere

Ce face: Adaptive Memory Pulse Challenge este un joc interactiv de memorie în care utilizatorul trebuie să rețină și să reproducă o secvență de LED-uri generate de sistem. Jocul evoluează progresiv, secvențele devenind din ce în ce mai lungi și mai dificile.

Sistemul oferă feedback vizual prin LED-uri, feedback auditiv printr-un buzzer pasiv și informații despre joc printr-un display LCD. În plus, jocul integrează senzori externi (puls, lumină și temperatură), care influențează comportamentul și dificultatea acestuia.

Scopul: Scopul proiectului este realizarea unui sistem embedded interactiv, care combină mai multe concepte hardware și software (GPIO, ADC, I2C, timere), precum și dezvoltarea unui mecanism de scoring avansat bazat pe performanța utilizatorului.

Ideea inițială: Proiectul pornește de la jocul clasic Simon Says, dar este extins prin introducerea unui sistem adaptiv și a unui mod multiplayer, în care rezultatul final depinde de mai mulți parametri, nu doar de memoria utilizatorului.

De ce este util: Jocul oferă o experiență interactivă și stimulează memoria, reflexele și controlul emoțional al utilizatorului. În același timp, reprezintă o aplicație practică pentru învățarea sistemelor embedded.


Descriere

Schema de bloc:

Lista componentelor

Componenta Cantitate Locul achizitionarii Datasheet
Arduino Uno R3 1 Ardushop -
LCD 16×2 1 Ardushop -
Keypad 4×3 1 Ardushop -
Buton 5-6 Ardushop -
Buzzer pasiv 1 Optimus Digital -
Shift Register 74HC595 2 -
LED-uri 20 Ardushop -
Rezistente 220Ω 15 Ardushop -
Rezistente 4.7kΩ 5 Ardushop -
Rezistente 10kΩ 10 Ardushop -
Breadboard + fire jumper 1 Ardushop -
Senzor temperatura DS18B20 1 Ardushop -
Senzor lumina 1 Ardushop -
Senzor puls 1 Ardushop -
Card microSD 1 GSMNet -
Suport baterii 6xAA 1 Ardushop -

Sistemul este construit în jurul microcontroller-ului Arduino Uno (ATmega328P), iar utilizatorii interacționează cu jocul prin butoane și/sau keypad.

Funcționare:

  • Sistemul generează o secvență aleatoare de LED-uri
  • Jucătorul trebuie să reproducă secvența corect
  • Dacă răspunsul este corect, secvența se extinde
  • Dacă jucătorul greșește, runda se încheie

Moduri de joc:

  • Single-player
  • Multiplayer (2 jucători joacă pe rând)

La final, câștigătorul este determinat pe baza unui scor complex, care ia în considerare:

  • numărul de secvențe corecte
  • nivelul de dificultate atins
  • timpul de reacție și rezolvare
  • variația pulsului jucătorului

Feedback oferit:

  • LED-uri (vizual)
  • buzzer (audio)
  • LCD (scor, nivel, mesaje)

Integrarea senzorilor:

  • senzor puls → utilizat pentru calculul scorului și evaluarea stresului
  • senzor lumină → poate ajusta dificultatea jocului
  • senzor temperatură → influențează viteza de redare a secvenței

Arhitectura software va fi bazată pe o mașină de stări:

  • Idle
  • Generare secvență
  • Afișare secvență
  • Input utilizator
  • Verificare
  • Calcul scor
  • Game Over

Hardware Design

Lista componentelor:

  • 1 x Arduino Uno R3
  • 1 x LCD 16×2
  • 1 x Keypad 4×3
  • 5-6 x butoane
  • 1 x buzzer pasiv
  • 2 x shift register (74HC595)
  • 9+ LED-uri
  • rezistențe 220Ω (pentru LED-uri)
  • rezistențe 4.7kΩ (pull-up / senzori)
  • breadboard și fire jumper
  • 1 x senzor temperatură (DS18B20)
  • 1 x senzor lumină
  • 1 x senzor puls
  • 1 x suport baterii

Schema electrică: Va fi realizată în etapa următoare (Milestone M2 - Hardware).


Software Design

Mediu de dezvoltare: Arduino IDE / PlatformIO

Librării utilizate:

  • Wire.h - comunicare I2C
  • LiquidCrystal_I2C - control LCD
  • Keypad.h - gestionare input

Algoritmi și structuri:

  • generare secvență aleatoare
  • mașină de stări (FSM)
  • vector pentru stocarea secvenței
  • debouncing pentru butoane
  • algoritm de calcul al scorului

Calculul scorului: Scorul final va fi determinat pe baza mai multor parametri:

  • nivelul atins
  • numărul de secvențe corecte
  • timpul de rezolvare
  • variația pulsului

Exemplu de formulă:

scor = nivel * 100 + secvente_corecte * 50 + bonus_rapiditate + bonus_puls

Rezultate

Proiectul se află în faza de documentație. Implementarea hardware și software nu a fost realizată încă.


Concluzii

Proiectul propus extinde conceptul clasic de joc de memorie prin introducerea unui sistem de evaluare complex și a unor factori externi care influențează gameplay-ul. Acesta integrează multiple concepte studiate în laborator și oferă o bază solidă pentru dezvoltarea unui sistem embedded interactiv.


Jurnal

  • 1 Mai 2026 - definirea ideii proiectului

Bibliografie/Resurse

pm/prj2026/jan.vaduva/denisa.ciobanu1208.txt · Last modified: 2026/05/02 11:40 by denisa.ciobanu1208
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