Table of Contents

Piano Player and microSD Song Looper

Student: Răzvan Florian Ghițan

Grupa: 334CC

Introducere

În cadrul acestui proiect, mi-am propus să creez un dispozitiv multi-use care să îmbine utilitatea și plăcerea de a utiliza un pian, cât și funcționalitatea redării melodiilor preferate de pe un card microSD. De asemenea, în cazul în care utilizatorul dorește să se repete o secvență din piesa favorită, va exista modalitatea de a crea un looper pentru câteva secunde din piesă și în același timp, opțiunea de a naviga prin lista de piese favorite.

Descriere generală

În momentul în care plăcuța Arduino este conectată la un sistem, aceasta va putea reda sunetele specifice octavei unui pian prin apăsarea butoanelor amplasate. De asemenea, modulul de card MicroSD va citi date constant și va reda conținutul pieselor mp3 de pe acesta. Pentru aceste opțiuni vor exista butoane care vor reda piesa următoare, respectiv piesa precedentă și un buton specific pentru opțiunea de looping.

Hardware Design

Componente necesare:
Schemă electrică:

Software Design

Biblioteci utilizate:
Codificarea pieselor hardware:

Pentru redarea sunetelor specifice pianului, am folosit funcția tone() și o serie de IF-uri pentru a reda sunetul corespunzător frecvenței notei în funcție de butonul apăsat.

Comunicarea cu microSD-ul o realizez cu variabila de tip TMRpcm, căreia îi setez pinul buzzerului și volumul. În loop() verific dacă este apăsat vreunul dintre butoanele de control a pieselor. Dacă sunt apăsate butoanele NEXT sau PREV, deplasez iteratorul din lista de fișiere .wav de pe cardul microSD cu o piesă în față sau în spate, după caz.

De asemenea, în funcția play() redau suntele specifice piesei curente în funcție de variabila iterator.

Partea de looping audio nu funcționează datorită limitărilor plăcuței.

Surse și poze

piano_arduino_razvan.zip

Concluzii

A fost un proiect destul de interesant și challenging. Am întâmpinat probleme cu piesele și modulele. De asemenea, nu recomand personal dezvoltarea pe o plăcuță Plusivo (Chinese Arduino). A fost mega complicată testarea funcționalităților și încărcarea codului pe plăcuță. În rest, cea mai plăcută activitate pentru o disciplină din ultimul timp. =)

Jurnal

Bibliografie/Resurse

Export to PDF