Monica-Maria BĂLUNĂ (67059) - MusicBits

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

MusicBits consta intr-un dispozitiv ce poate fi folosit pentru a crea noi melodii. Avand la dispozitie trei sunete de baza, prin miscarea instrumentului se pot reda aceste sunete in moduri diferite. Pe parcurs ce utilizatorul “dirijeaza”, aparatul va reda melodia rezultata.

Descriere generală

Pentru inregistrarea miscarilor utilizatorului, se foloseste un modul cu accelerometru si giroscop. Modulul trimite date catre placa de baza, care le proceseaza. Melodiile sunt citite de pe un card microSD, apoi sunt aplicate efecte. In final, sunetul este redat printr-un difuzor conectat la un amplificator.

Hardware Design

Lista de piese

  • accelerometru + giroscopgy521
  • quartz 12MHz
  • kit-ul de baza
  • difuzor (scos din niste casti vechi =))
  • amplificator lctech-inc (imprumutat de la asistent)
  • Catalex MicroSD Card Adapter v1.0

Schema electrica

Pentru difuzor am folosit doar simbolul dintr-o biblioteca default de Eagle. Nu ii stiu modelul, pentru ca l-am scos dintr-o pereche de casti vechi.

Software Design

Medii de dezvoltare

Am dezvoltat tot proiectul de pe un sistem Win32. Pentru scrierea si compilarea codului am instalat:

  • WinAVR
  • Cygwin (il aveam deja pentru SO =))
  • Sublime Text

Pentru schema bloc si schema electrica, am folosit www.draw.io si Eagle.

Pentru incarcarea executabilului pe placuta, am folosit HIDBootFlash din GUI.

Biblioteci folosite

In afara bibliotecilor specifice avr-gcc, am folosit:

  • Petit FatFs pentru interactiunea cu sistemul FAT32 de pe MicroSD
  • laboratorul 4 de PM
  • mpu6050 - pentru accelerometru + giroscop
  • i2chw (by fleury) - pentru comunicatia i2c cu accelerometrul si giroscopul

Functionalitati implementate

Device-ul este capabil sa:

  • citeasca fisiere wav mono pe 8 biti de pe un card microSD cu sistem FAT (/FAT32 etc)
  • altereze sunete in functie de miscarile inregistrate (nu era foarte folositor, am sters intre timp)
  • cante wav-uri intre care sa puna delay-uri invers proportionale cu acceleratia inregistrata, in functie de axa pe care s-a citit acceleratia maxima

Rezultate Obţinute

Am obtinut ceva in mare parte functional. Din pacate, nu pot da play la wav-uri mai scurte de o secunda (folosind doar codul din laborator) si nu am mai avut timp sa remediez asta, asa ca efectul nu e foarte spectaculos. In rest, a iesit destul de dragut.

Concluzii

A fost un proiect interesant, mai ales pentru ca am imbinat cunostinte din mai multe laboratoare.
Cel mai tare lucru e ca obtii un rezultat palpabil (“it actually does something”), chiar iti da o satisfactie aparte. Totusi, nu cred ca mi-ar placea sa fac asa ceva mai departe.

Download

Toate resursele folosite sunt aici.

Jurnal

Pana la Milestone 1: ales idee
Pana la Milestone 2: realizat placa de baza, cu alimentare la 3.3V
Pana la Milestone 3: procurat si montat piese specifice
Pana la Milestone 4:

  • saptamana 1 (o zi): testat efecte cu difuzorul si accelerometrul / giroscopul
  • o saptamana: chinuit cu cititul de pe cardul microSD
  • miercuri, 24.05: rezolvat problema cardului microSD
  • miercuri, 24.05: realizat scheme in Eagle
  • miercuri, 24.05: hopefully, terminat proiect
  • joi, 25.05: terminat proiect

Bibliografie/Resurse

Resurse Software

  • Niste biblioteci pentru accelerometru / giroscop, trimise de asistent. Cred ca sursa lor este aceasta.
  • Petit FatFs
  • laboratorul 4
  • laboratorul 0

Resurse hardware

Documentația în format PDF

pm/prj2017/amocanu/monicab.txt · Last modified: 2021/04/14 17:07 (external edit)
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