MusicBox este un creator de sonerii în formatul RTTTL (Ringing Tones Text Transfer Language).
MusicBox înregistrează notele muzicale de la butoane și produce un fișier în formatul RTTTL, acesta din urma este copiat pe MMC card , utilizatorul poate asculta melodia și o poate modifica înainte de copierea pe card.
Scopul proiectului a fost de a produce sonerii pentru mobile , felicitări și altele.
Ideea de la care am pornit a fost un program de pe un mobil care te lasă sa îți creezi propria sonerie.
Utilitatea MusicBox este evidenta…cine nu s-a saturat de numărul limitat de sonerii de pe mobilul lor…deși mulți au recurs la mp3-uri…:)
Proiectul poate fi reprezentat prin schema bloc de mai jos:
void InitTimer(void);
void delayms(unsigned char cnt);
void PlayNote(unsigned short note, unsigned char octave, unsigned int duration);
void interrupt interr(void);
int main()
Listă de piese: 8 butoane,difuzor,plăcuţă extensie,condensator de decuplare
Schema 1.0:
Schema 2.0:
Schema 3.0:
Schema 4.0
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare:
AVR Studio, Notepad++ ,Hi-Tech PICC Compiler.;
algoritmi şi structuri pe care plănuiţi să le implementaţi:
Ring Tone Transfer Language (RTTT) are trei secțiuni :name, default value, and data.
1. Reprezinta numele melodiei.
2. O secventa de valori separate prin virgula ex :
(d=4,o=5,b=10)
* d - Duration * o - Octave * b - Beat / Tempo
3. “data” melodia propriu zisa compusa din elemente separate prin virgula :
#ifdef HappyBirthday
/* HappyBirthday */ const unsigned char static Melody[] = {"8g.,16g,a,g,c6,2b,8g.,16g,a,g,d6,2c6,8g.,16g,g6,e6,c6,b,a,8f6.,16f6, e6,c6,d6,2c6,8g.,16g,a,g,c6,2b,8g.,16g,a,g,d6,2c6,8g.,16g,g6,e6,c6,b, a,8f6.,16f6,e6,c6,d6,2c6"};
Biblioteci folosite:
(etapa 3) surse şi funcţii implementate
Un musicbox…
Este interesant ce se poate realiza cu o plăcuta de baza, cu un difuzor , niște butoane și mult timp liber. :)
Poate sa fie folosită orientativ evoluția de la schema 1.0 la 4.0