This is an old revision of the document!


JOC "MAGIC CAST" - BAGHETĂ MAGICĂ

Introducere

Proiectul presupune realizarea unei “baghete magice” prin intermediul căreia se va putea juca un minigame. Bagheta va:

  • primi date de poziționare în spațiu de la un accelerometru
  • calcula prin anumite formule geometrice matematice și metode de atenuare a zgomotului forma geometrică realizată (ex: cerc, pătrat, zig-zag)
  • va dispune de diferite ”vrăji„ depinzând de forma realizată (exemplu: cerc → apă; pătrat → pământ)
  • va avea efecte tipice vrăjii realizate (led, buzzer)
  • (posibil) va avea output pe monitorul unui laptop unde va rula un cod de minigame în care diferiți monștrii vor fi uciși cu diferite vrăji

Ideea de bază este realizarea unui joc simpu și intuitiv pe care colegii să-l poată juca la târgul de proiecte PM.

Descriere generală

Descrierea Modulelor și a Modului de Interacțiune

Proiectul “Magic Cast” este compus dintr-o serie de module hardware (senzori, actuatori, unitate de procesare) și module software (algoritmi de procesare a semnalului și decizie), care colaborează pentru a transforma mișcarea fizică într-o acțiune virtuală.

1. Module Hardware

  • Unordered List ItemSursă de Alimentare (Acumulator 18650 + Modul Boost 5V): Asigură portabilitatea “baghetei”. Modulul de boost ridică tensiunea bateriei Li-Ion la 5V stabili, alimentând direct microcontrolerul și senzorul.
  • Unordered List ItemModul Input Senzorial (MPU6050 - Accelerometru & Giroscop): Este responsabil cu captarea datelor de mișcare pe 6 axe (accelerație și rotație) în spațiul 3D.
  • Unordered List ItemButon “Trăgaci” (Push-button): Un element de control conectat la un pin digital (GPIO) cu rezistență de pull-up internă. Acționează ca un semnal de declanșare (trigger) pentru a delimita momentul în care utilizatorul desenează forma în aer.
  • Unordered List ItemUnitatea Centrală (Microcontroler ATmega328P - Xplained Mini): Reprezintă creierul hardware al proiectului. Acesta interoghează senzorii, execută algoritmul software și comandă perifericele de ieșire.
  • Unordered List ItemModule de Feedback Local (Buzzer Pasiv & LED RGB): Oferă confirmare senzorială utilizatorului. Buzzerul generează feedback audio (frecvențe specifice fiecărei vrăji prin semnale PWM), iar LED-ul RGB își schimbă culoarea în funcție de elementul vrăjii invocate (ex: albastru pentru apă, roșu pentru foc).
  • Unordered List ItemInterfața cu Jocul (Laptop / Monitor): Rulează aplicația/jocul final care primește comenzile și afișează efectele vizuale (ex: distrugerea monștrilor).

2. Module Software (Logica internă pe ATmega328P)

  • Unordered List ItemModulul de Filtrare Zgomot: Preia datele brute de la senzorul MPU6050, care conțin adesea “zgomot” cauzat de tremurul mâinii. Folosește un filtru matematic (ex: filtru trece-jos sau filtru complementar) pentru a netezi valorile înainte de analiză.
  • Unordered List ItemModulul de Detecție Traseu (Segmentare): Acest modul software se activează doar când starea butonului hardware trece în LOW (apăsat). Înregistrează coordonatele mișcării succesive într-un buffer (vector de date) pentru a forma un traseu continuu.
  • Unordered List ItemModulul de Identificare Vrajă (Pattern Matching): Procesează traseul finalizat (după eliberarea butonului). Analizează variațiile geometrice din buffer și, printr-un algoritm de recunoaștere a formelor (ex: calcularea schimbărilor de direcție sau distanțe minime), asociază traseul cu un anumit gest prestabilit (Cerc, Pătrat, Zig-Zag).

3. Modul de interacțiune a modulelor (Fluxul datelor) Sistemul funcționează pe baza unui flux continuu de tipul Input → Procesare → Output:

  • Unordered List ItemInițierea acțiunii: Microcontrolerul așteaptă o acțiune pe pinul GPIO al Butonului Trăgaci. Când utilizatorul apasă butonul și mișcă bagheta, sistemul intră în starea de achiziție.
  • Unordered List ItemAchiziția datelor: Prin intermediul magistralei I2C (pinii SDA și SCL), ATmega328P citește în mod repetat datele senzorului MPU6050 la o frecvență fixă.
  • Unordered List ItemProcesarea (Software): Datele citite trec secvențial prin Modulul de Filtrare, sunt stocate de Modulul de Detecție a Traseului, iar la eliberarea butonului, Modulul de Identificare analizează traseul și returnează un cod specific vrăjii (ex: VRAJA_CERC).
  • Unordered List ItemGenerarea Output-ului: Odată ce vraja a fost identificată, microcontrolerul ia trei acțiuni simultane:
  • * Unordered List ItemTrimite semnale PWM modificate către Buzzer pentru a genera sunetul specific.
  • * Unordered List ItemModifică starea pinilor PWM/GPIO legați la LED-ul RGB pentru a afișa culoarea vrăjii.
  • * Unordered List ItemTransmite un șir de caractere (ex: “CAST:WATER\n”) prin protocolul UART (Serial) către Laptop, declanșând acțiunea în jocul video.

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/florin.stancu/ioana_ligia.popescu.1778261109.txt.gz · Last modified: 2026/05/08 20:25 by ioana_ligia.popescu
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