This is an old revision of the document!


Remote Music Player

Autor: Micuț Andrei-Ion

Introducere

In acest proiect doresc redarea melodiilor cu ajutorul unei telecomenzi de televizor. Atunci cand o melodie porneste, notele sale muzicale vor fi vor fi proiectate in led-urile ce se vor aprinde in functie de acestea, iar timpul de iluminare va fi dat de durata notelor sau doar vor ilumina daca butonul asignat pentru mute a fost apasat. Ideea care sta la baza acestui proiect este un casetofon vechi cu CD-uri si cu telecomanda. Consider ca, un asemenea proiect este util, deoarece daca dorim sa ascultam muzica fara sa ne mai deplasam din loc si avem la indemana o telecomanda, este cel mai potrivit, iar jocul de lumini creeaza o atmosfera aparte.

Descriere generala

Utilizatorul va apasa pe un buton al telecomenzii, iar aceasta va trimite o unda magnetica ce va fi receptata de receptorul conectat pe breadboard la arduino. In functie de ce tasta a fost apasata va fi redata si melodia asignata acesteia (acelui cod in hexa). Dupa ce arduino analizeaza ce melodie dorim sa redam, buzzer-ul va incepe sa redea melodia, iar, intre timp, led-urile vor fi iluminate in functie de nota muzicala si vor ramane asa atata timp cat dureaza si nota sau doar led-urile isi vor continua jocul de lumini fara buzzer daca butonul de mute este activat.

Diagrama bloc:

Hardware Design

Lista componente
Nume componenta Cantitate Valori
Arduino UNO R3 1
BreadBoard 1
Receptor (dioda) 1
Telecomanda de televizor Samsung 1
Buzzer pasiv 1 5V
LED 5mm roșu 1 1.63 ~ 2.03V
LED 5mm galben 1 2.10 ~ 2.18V
LED 5mm albastru 1 2.48 ~ 3.7V
Buton 1
Rezistenta 3
Fire mama-tata
Fire tata-tata

Schema electrica

Software Design

Acest proiect a fost dezvoltat in Arduino (vers. 1.8.12), unde mi-am inclus urmatoarele:

  • pitches.h - contine toate notele muzicale necesare
  • themes.h - contine 4 melodii, fiecare melodie avand un array de note si unul ce ne indica durata fiecarei note
  • IRremote.h - folosit pentru a reusi sa realizez legatura intre telecomanda si arduino prin intermediul acestei biblioteci si a emitatorului de la telecomanda impreuna cu receptorul conectat la arduino
  • avr/io.h - include definitiile I/O corespunzatoare dispozitivului
  • avr/wdt.h - declara interfata unor macrocomenzi inline care gestioneaza cronometrul watchdog-ului prezent in multe dispozitive AVR; pentru a preveni modificarea accidentala configuratiei temporizatorului de supraveghere de catre o aplicatie care se blocheaza

Implementarea este structurata in functii pentru fiecare melodie in parte, o functie de verificare a comenzii, setup si loop. In cadrul functiei pentru fiecare melodie am o bucla pentru a parcurge fiecare nota, iar in cadrul ei spun cat dureaza o nota, cat de mare sa fie pauza dintre note si starea butonului de pe breadboard. Cele 3 led-uri vor fi iluminate secvential. In functie de starea butonului (activ/inactiv), buzzer-ul va reda meelodie acompaniat de cele 3 led-uri sau notele muzicale vor putea fi observate doar prin iluminarea led-urilor. La finalul melodiei, iluminarea se va opri dupa un mic delay.

In functia de verificare a comenzii, ma voi folosi de biblioteca IRremote pentru a decodifica semnalele trimise de emitatorul telecomenzii catre receptorul conectat la arduino. In functie de valoarea comenzii in hexa, o melodie va fi redata.

In setup stabilesc inputul si outputul aferent proiectului.

In functia loop voi verifica ce tasta a fost apasata (codul hexa corespunzator unei taste), iar in functie de aceasta, se va intra intr-o stare corespunzatoare unei melodii.

Rezultate Obtinute

Video cu functionalitatea proiectului: TODO

Concluzii

A fost o experienta unica si distrctiva, deoarece majoritatea componentelor au fost procurate legit, insa receptorul a fost smuls de pe o placa de baza a unui televizor vechi. Una dintre singurele materii la care putem lucra, la propriu, cu componentele, urmand astfel meseria si pe care o avem, cea de inginer.

Download

Cod: remote_music_player.zip

Documentatia in format pdf: TODO

Bibliografie/Resurse

pm/prj2021/avaduva/remotemusicplayer.1621609952.txt.gz · Last modified: 2021/05/21 18:12 by andrei_ion.micut
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