Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:florin.stancu:ioana_ligia.popescu [2026/05/08 20:25]
ioana_ligia.popescu [Descriere generală]
pm:prj2026:florin.stancu:ioana_ligia.popescu [2026/05/13 12:35] (current)
ioana_ligia.popescu [Bibliografie/Resurse]
Line 13: Line 13:
  
 ===== Descriere generală ===== ===== Descriere generală =====
-{{ :​pm:​prj2026:​florin.stancu:​ioana_ligia.poescu:​schema_magic_cast.png |}}+{{ :​pm:​prj2026:​florin.stancu:​ioana_ligia.poescu:​diagrama_bloc_magiccast.drawio.png |}}
  
 **Descrierea Modulelor și a Modului de Interacțiune** **Descrierea Modulelor și a Modului de Interacțiune**
Line 20: Line 20:
  
 **1. Module Hardware** **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. +  * Sursă 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. +  * Modul 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. +  * Buton "​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. +  * Unitatea ​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). +  * Module ​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).+  * Interfaț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)** **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ă. +  * Modulul ​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. +  * Modulul ​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).+  * Modulul ​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)** **3. Modul de interacțiune a modulelor (Fluxul datelor)**
 Sistemul funcționează pe baza unui flux continuu de tipul Input -> Procesare -> Output: 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. +  * Iniț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ă. +  * Achiziț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). +  * Procesarea ​(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:​ +  * Generarea ​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. +            Trimite ​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. +            Modifică 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.+            Transmite ​un șir de caractere (ex: "​CAST:​WATER\n"​) prin protocolul UART (Serial) către Laptop, declanșând acțiunea în jocul video.
  
  
Line 46: Line 46:
 ===== Hardware Design ===== ===== Hardware Design =====
  
 +**Lista de piese (Bill of Materials - BOM)**
 +  * __Microcontroler__:​ Placă de dezvoltare ATmega328P Xplained Mini (creierul proiectului).
 +  * __Senzor Mișcare__: Modul GY-521 (IC original MPU-6050) – Accelerometru și giroscop pe 3 axe (comunicație I2C).
 +  * __Alimentare__:​ Carcasă Powerbank USB 5V pentru acumulatori 18650 – Va oferi tensiune stabilă de 5V și portabilitate pentru baghetă.
 +  * __Buton Control__: Buton Push 6x6x6 mm – Folosit ca ”trăgaci” pentru a iniția citirea gestului.
 +  * __Feedback Audio__: Buzzer pasiv (difuzor intern de placă de bază PC) – Pentru redarea efectelor sonore specifice fiecărei vrăji.
 +  * __Feedback Vizual__: * 1x LED RGB 10mm (catod comun) – Va lumina în culoarea specifică vrăjii (ex: roșu=foc, albastru=apă).
 +  *   * LED-uri opționale pentru status (Bicolor, Galben 3mm, Verde 5mm) – Pentru a semnaliza starea baghetei (ex: galben pentru ”mod înregistrare”,​ verde pentru ”gata de utilizare”).
 +  * Unordered List ItemSuport Fizic: Placă PCB prototipare dublă față, 4x6cm, FR4.
 +
 +{{ :​pm:​prj2026:​florin.stancu:​ioana_ligia.poescu:​schema_electrica.png?​800 |}}
 +
 +**1. Diagrama de semnal I2C (Comunicația cu senzorul MPU-6050)**
 +{{ :​pm:​prj2026:​florin.stancu:​ioana_ligia.poescu:​i2c_diagramasemnal.png |}}
 +Comunicația este inițiată printr-o condiție de START pe linia de date (SDA), urmată de transmiterea adresei senzorului și a bitului de Read/Write. Sincronizarea este menținută de semnalul de ceas (SCL) generat de microcontroler. Fiecare pachet de date este validat de un bit de confirmare (ACK).
 +
 +**2. Diagrama de semnal CTC / Timer (Controlul Buzzerului Pasiv)**
 +{{ :​pm:​prj2026:​florin.stancu:​ioana_ligia.poescu:​pwm_diagramasemnal.png |}}
 +Pentru a crea efectele sonore specifice fiecărei vrăji (frecvențe diferite), se utilizează Timer/​Counter-ul intern al microcontrolerului în modul CTC (Clear Timer on Compare Match). Conform diagramei, timerul (TCNTn) se incrementează sincron cu ceasul (divizat prin prescaler) până când atinge valoarea maximă definită în registrul de comparație (OCRnx). În acel moment (TOP), timerul se resetează la zero și flag-ul de Output Compare (OCFnx) este setat. Poate fi controlat software exact prin modificarea valorii TOP, dictând astfel nota muzicală redată de buzzer.
 <note tip> <note tip>
 Aici puneţi tot ce ţine de hardware design: Aici puneţi tot ce ţine de hardware design:
Line 88: Line 107:
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +**Resurse Hardware:**
 +  * https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​50002659A.pdf (datasheet ATmega324P Xplained Mini)
 +  * https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-42743-ATmega324P_Datasheet.pdf ​ (datasheet ATmega324P -> pentru diagrame electrice)
 +  * https://​mysii.gorriens.net/​images/​arduino/​capteurs/​gy-521_mpu-6050_3-axis_gyroscope_and_acceleration_sensor_en.pdf(datasheet accelerometru GY-521mpu-6050)
 +  * https://​www.snapeda.com/​parts/​GY-521/​GODREAM%20FORDREAM%20CO.,​%20LIMITED/​view-part/?​welcome=home&​ref=search&​t=GY-521&​ab_test_case=b (biblioteca piesa accelerometru pt. Fusion)
 +
 +
 +**Resurse Software:**
  
 <​note>​ <​note>​
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