This is an old revision of the document!


Aero Beat

Introducere

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

Aero Beat este un instrument muzical virtual care simulează o baterie reală folosind două bețe de tobă echipate cu senzori de mișcare. Fiecare bată conține un modul giroscop + accelerometru (GY-521 / MPU-6050) montat pe vârf, care detectează direcția și intensitatea loviturii în aer. În funcție de gestul efectuat, sistemul identifică una dintre cele 3 tobe virtuale asociate fiecărei bețe (stânga, mijloc, dreapta) și redă în timp real sunetul corespunzător printr-un amplificator de chitară. Simultan, un LED RGB se aprinde și o aplicație mobilă evidențiază vizual toba lovită sau chiar oferind un joc de tip wack-a-mole sau PianoTiles.

Ce face: Cântărețul ține câte o bată în fiecare mână și efectuează lovituri în aer. Sistemul detectează lovitura, identifică toba vizată pe baza direcției de mișcare, redă sunetul corespunzător, aprinde LED-ul RGB și trimite informația către o aplicație mobilă care afișează vizual toba activată. Exista si un buton care schimba genul tobelor (jazz, rock etc.)

Scopul proiectului: Crearea unui instrument de percuție virtual care să ofere experiența cântatului la tobe fără a necesita o baterie fizică — fără zgomot mecanic, fără spațiu ocupat și fără a deranja pe nimeni din jur.

Ideea de la care am pornit: Mereu mi-am dorit să cânt la tobe, însă locuiesc la apartament și am vecini cu copil mic. O baterie reală este scumpă, voluminoasă și, cel mai important, extrem de zgomotoasă. Mi-am propus să construiesc un sistem care să îmi ofere aceeași experiență fără să deranjez pe nimeni.

De ce este util:

  • Pentru muzicieni începători sau avansați care vor să exerseze fără investiție

majoră în echipament și fără probleme de zgomot

  • Pentru persoanele care locuiesc la apartament sau în spații unde zgomotul este

o problemă reală (copii mici, vecini, program de noapte)

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware Design

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

Listă de piese:

  • ATmega328P Xplained Mini — microcontroler principal
  • 2 x GY-521 (MPU-6050) — senzori giroscop + accelerometru 3 axe, montați pe vârful betelor
  • 2 x DFPlayer Mini + card SD — modul redare audio, fișiere .mp3 cu sunete de tobă
  • Modul Bluetooth HC-05
  • Display LCD1602 HD44780
  • LED RGB (anod comun sau catod comun)
  • Amplificator de chitară — output audio
  • Modul jack 3.5mm + adaptor jack 3.5mm → 6.35mm — conectare la amplificator
  • 2 x bețe de tobă (suport fizic pentru senzori)
  • 2 x Modul de buton fara retinere
  • Rezistoare, fire, breadboard

Schema electrica:

Componenta Pin componenta Conectare
ATmega328P Xplained Mini PC4 / SDA Bus I2C Date (MPU-6050 #1, #2 și LCD)
ATmega328P Xplained Mini PC5 / SCL Bus I2C Ceas (MPU-6050 #1, #2 și LCD)
ATmega328P Xplained Mini PD2 (UART TX) RXD HC-05 Bluetooth (prin divizor 1kΩ + 2kΩ)
ATmega328P Xplained Mini PD3 (UART RX) TXD HC-05 Bluetooth (direct)
ATmega328P Xplained Mini PD4 (SoftSerial TX) RX DFPlayer Mini #1 (prin rezistor 1kΩ)
ATmega328P Xplained Mini PD5 (SoftSerial RX) TX DFPlayer Mini #1 (direct)
ATmega328P Xplained Mini PD6 (SoftSerial TX) RX DFPlayer Mini #2 (prin rezistor 1kΩ)
ATmega328P Xplained Mini PD7 (SoftSerial RX) TX DFPlayer Mini #2 (direct)
ATmega328P Xplained Mini PB0 (pin 8) OUT Buton 1 — pauză/resume
ATmega328P Xplained Mini PB1 (pin 9) OUT Buton 2 — schimbare stil ROCK/METAL
ATmega328P Xplained Mini PB2 (pin 10) LED RGB — canal Roșu (PWM)
ATmega328P Xplained Mini PB3 (pin 11) LED RGB — canal Verde (PWM)
ATmega328P Xplained Mini PB4 (pin 12) LED RGB — canal Albastru
ATmega328P Xplained Mini PB5 (pin 13) LED on-board
ATmega328P Xplained Mini 5V (J202-5) Alimentare module
ATmega328P Xplained Mini 3.3V (J202-4) Pin AD0 MPU-6050 #2
ATmega328P Xplained Mini GND (J202-6) Masă comună
Componenta Pin componenta Conectare
MPU-6050 #1 (Bâta stângă) VDD 5V
MPU-6050 #1 (Bâta stângă) GND Masă comună (GND)
MPU-6050 #1 (Bâta stângă) SDA PC4 ATmega328P
MPU-6050 #1 (Bâta stângă) SCL PC5 ATmega328P
MPU-6050 #1 (Bâta stângă) AD0 GND → adresă I2C 0x68
Componenta Pin componenta Conectare
MPU-6050 #2 (Bâta dreaptă) VDD 5V
MPU-6050 #2 (Bâta dreaptă) GND Masă comună (GND)
MPU-6050 #2 (Bâta dreaptă) SDA PC4 ATmega328P
MPU-6050 #2 (Bâta dreaptă) SCL PC5 ATmega328P
MPU-6050 #2 (Bâta dreaptă) AD0 3.3V ATmega328P → adresă I2C 0x69
Componenta Pin componenta Conectare
DFPlayer Mini #1 (Bâta stângă) VCC 5V
DFPlayer Mini #1 (Bâta stângă) GND Masă comună (GND)
DFPlayer Mini #1 (Bâta stângă) RX PD4 ATmega328P (prin rezistor 1kΩ)
DFPlayer Mini #1 (Bâta stângă) TX PD5 ATmega328P (direct)
DFPlayer Mini #1 (Bâta stângă) DAC_R 1kΩ → nod mixare → 100Ω → Jack R
DFPlayer Mini #1 (Bâta stângă) DAC_L 1kΩ → nod mixare → 100Ω → Jack L
Componenta Pin componenta Conectare
DFPlayer Mini #2 (Bâta dreaptă) VCC 5V
DFPlayer Mini #2 (Bâta dreaptă) GND Masă comună (GND)
DFPlayer Mini #2 (Bâta dreaptă) RX PD6 ATmega328P (prin rezistor 1kΩ)
DFPlayer Mini #2 (Bâta dreaptă) TX PD7 ATmega328P (direct)
DFPlayer Mini #2 (Bâta dreaptă) DAC_R 1kΩ → același nod cu DF1 DAC_R → 100Ω → Jack R
DFPlayer Mini #2 (Bâta dreaptă) DAC_L 1kΩ → același nod cu DF1 DAC_L → 100Ω → Jack L
Componenta Pin componenta Conectare
Modul Jack TRRS 3.5mm R (Ring) Nod mixare DAC_R (DF1+DF2 prin 1kΩ) → Rezistor 100Ω
Modul Jack TRRS 3.5mm L (Tip) Nod mixare DAC_L (DF1+DF2 prin 1kΩ) → Rezistor 100Ω
Modul Jack TRRS 3.5mm GND (Sleeve) GND DFPlayer (izolare ground loop)
Componenta Pin componenta Conectare
HC-05 Bluetooth VCC 5V
HC-05 Bluetooth GND Masă comună (GND)
HC-05 Bluetooth RXD PD2 ATmega328P (prin divizor tensiune 1kΩ + 2kΩ)
HC-05 Bluetooth TXD PD3 ATmega328P (direct)
Componenta Pin componenta Conectare
LCD I2C 16×2 VCC 5V
LCD I2C 16×2 GND Masă comună (GND)
LCD I2C 16×2 SDA PC4 ATmega328P (partajat pe magistrala I2C)
LCD I2C 16×2 SCL PC5 ATmega328P (partajat pe magistrala I2C)
Componenta Pin componenta Conectare
Buton 1 (pauză/resume) VCC 5V
Buton 1 (pauză/resume) GND Masă comună (GND)
Buton 1 (pauză/resume) OUT PB0 ATmega328P (pin 8)
Buton 2 (stil ROCK/METAL) VCC 5V
Buton 2 (stil ROCK/METAL) GND Masă comună (GND)
Buton 2 (stil ROCK/METAL) OUT PB1 ATmega328P (pin 9)
Componenta Pin componenta Conectare
LED RGB (Anod Comun) VCC (anod comun) 5V
LED RGB (Anod Comun) R (catod roșu) PB2 ATmega328P — pin 10 (PWM)
LED RGB (Anod Comun) G (catod verde) PB3 ATmega328P — pin 11 (PWM)
LED RGB (Anod Comun) B (catod albastru) PB4 ATmega328P — pin 12
Componenta Pin componenta Conectare
Rezistor 1kΩ (R1) Capăt 1 PD4 ATmega328P
Rezistor 1kΩ (R1) Capăt 2 RX DFPlayer Mini #1 (Protecție nivel logic 5V→3.3V)
Rezistor 1kΩ (R2) Capăt 1 PD6 ATmega328P
Rezistor 1kΩ (R2) Capăt 2 RX DFPlayer Mini #2 (Protecție nivel logic 5V→3.3V)
Rezistor 1kΩ (R3) Capăt 1 PD2 ATmega328P
Rezistor 1kΩ (R3) Capăt 2 RXD HC-05 + Nod divizor (Parte superioară divizor)
Rezistor 2kΩ (R4) Capăt 1 Nod divizor
Rezistor 2kΩ (R4) Capăt 2 GND (Parte inferioară divizor tensiune 5V→3.3V)
Rezistor 1kΩ (R5) Capăt 1 DAC_R DFPlayer #1
Rezistor 1kΩ (R5) Capăt 2 Nod mixare audio R (Izolare ieșire DAC)
Rezistor 1kΩ (R6) Capăt 1 DAC_R DFPlayer #2
Rezistor 1kΩ (R6) Capăt 2 Nod mixare audio R (Izolare ieșire DAC)
Rezistor 100Ω (R7) Capăt 1 Nod mixare audio R
Rezistor 100Ω (R7) Capăt 2 Pin R (Ring) Modul Jack TRRS (Protecție canal drept)
Rezistor 1kΩ (R8) Capăt 1 DAC_L DFPlayer #1
Rezistor 1kΩ (R8) Capăt 2 Nod mixare audio L (Izolare ieșire DAC)
Rezistor 1kΩ (R9) Capăt 1 DAC_L DFPlayer #2
Rezistor 1kΩ (R9) Capăt 2 Nod mixare audio L (Izolare ieșire DAC)
Rezistor 100Ω (R10) Capăt 1 Nod mixare audio L
Rezistor 100Ω (R10) Capăt 2 Pin L (Tip) Modul Jack TRRS (Protecție canal stâng)

Descrierea Arhitecturii Hardware

Inima sistemului este placa de dezvoltare ATmega328P Xplained Mini, care face prelucrarea semnalelor pentru detectarea loviturilor și trimiterea comenzilor audio. Placa furnizează atât tensiunea de 5V pentru alimentarea principală a modulelor, cât și tensiunea de 3.3V, folosită strict ca referință logică de adresare pentru unul dintre senzori.

Pentru detectarea mișcărilor și a unghiurilor de înclinare ale bețelor, sistemul utilizează două module inerțiale MPU-6050 (giroscop și accelerometru). Deoarece ambele module folosesc protocolul I2C și împart aceleași linii fizice de date (SDA pe PC4 și SCL pe PC5), a fost necesară configurarea unor adrese hardware diferite: pinul AD0 al senzorului de pe bâta stângă este conectat la GND (setând adresa la 0x68), în timp ce pinul AD0 al senzorului de pe bâta dreaptă este conectat la 3.3V (setând adresa la 0x69). Acest procedeu permite microcontrolerului să comunice independent cu ambele bețe în timp real, pe aceeași magistrală.

Generarea și redarea sunetelor sunt realizate de un modul DFPlayer Mini cu card SD. Acesta comunică asincron prin interfața UART hardware cu ATmega328P (folosind pinii PD4 și PD5). Pentru a proteja pinul RX al DFPlayer-ului (care este conceput pentru niveluri logice de 3.3V) de semnalele logice de 5V emise de ATmega328P, a fost introdus un rezistor de protecție de 1kΩ pe linia de transmisie (TX spre RX).

Ieșirea audio analogică este preluată de la pinii DAC_R și DAC_L ai DFPlayer-ului și dirijată către un modul Jack TRRS de 3.5mm prin intermediul a două rezistoare de 100Ω. Aceste rezistoare au dublu rol: limitează curentul de ieșire și protejează convertorul digital-analog al modulului MP3. Pentru a elimina interferențele și a rezolva problema buclelor de masă (ground loops) la conectarea spre un amplificator de chitară extern, pinul GND (Sleeve) al jack-ului a fost rutat direct la pinul GND dedicat al DFPlayer-ului, izolând astfel masa de semnal audio de masa generală a microcontrolerului.

În cadrul testelor, a fost identificată o a doua sursă de ground loop: diferența de potențial dintre masa laptopului conectat la priză (prin care era alimentat ATmega328P via USB) și masa amplificatorului de chitară conectat la acelasi prelungitor. Simptomul era un zgomot continuu de tip bip-bip prezent chiar și în absența loviturilor, dispărând complet în căști. Problema a fost reprodusă și diagnosticată sistematic, iar soluția aplicată a fost alimentarea plăcii ATmega din telefon sau power bank în loc de laptopul conectat la priză, eliminând astfel bucla de masă parazită dintre cele două surse. Ca alternativă permanentă pentru o versiune viitoare a circuitului, se pot adăuga condensatoare de cuplaj de 10µF pe liniile DAC_R și DAC_L, care blochează componenta DC și elimină zgomotul indiferent de sursa de alimentare.

Sistemul hardware este scalabil și include deja alocarea pinilor (PD6/PD7) pentru implementarea unui modul Bluetooth HC-05 și folosirea pinilor existenți I2C pentru adăugarea unui ecran LCD 1602.

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

Mediu de dezvoltare:

  • PlatformIO (VS Code) cu framework Arduino pentru ATmega328P
  • Board: ATmega328P Xplained Mini, upload via xplainedmini programmer

Librării folosite:

  • Wire.h — comunicație I2C cu MPU-6050 (Lab 6)
  • Arduino.h — framework de bază

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.

  • Săptămâna 1: Alegerea componentelor, testare conectivitate I2C cu MPU-6050
  • Săptămâna 2: Implementare algoritm de detecție lovitură, calibrare pe axa Y
  • Săptămâna 4: Integrare DFPlayer Mini, LED RGB, aplicație mobilă (în progres, 50% done)
  • Săptămâna 5: Integrare Ecran LED, buton pentru schimbarea genului tobelor, modul Bluetooth pentru conectivitate mai usoara intre boxa sau telefon (în progres)

Bibliografie/Resurse

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

Resurse Hardware:

  • MPU-6050 Product Specification — InvenSense
  • ATmega328P Xplained Mini User Guide — Microchip (DS50002659B)
  • DFPlayer Mini Datasheet — DFRobot
  • GY-521 Module Schematic

Resurse Software:

Export to PDF

pm/prj2026/ciprian.popescu0411/clarisse.braviceanu.1779136971.txt.gz · Last modified: 2026/05/18 23:42 by clarisse.braviceanu
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