Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta in realizarea unei harpe laser cu 8 corzi, pentru fiecare fiind asociata cate o “nota”. In plus o sa existe si posibilitatea alegerii unei octave folosind cateva butoane.
Ideea a fost preluata din Room of Inspiration. Am ales acest proiect din dorinta de a implementa ceva “fun” si cred ca va reprezenta o provocare din care voi avea destule de invatat si, daca totul merge cum trebuie, la final voi ramane cu un instrument “muzical” destul de interesant.
Corzile vor fi reprezentate prin intermediul a 8 lasere. In momentul in care unul dintre aceste lasere va fi obstructionat nota corespunzatoare acelei corzi va fi redata prin intermediul buzzer-ului. Va exista si posibilitatea alegerii octavei in care instrumentul va canta cu ajutorul unor butoane.
Schema bloc:
Pe langa componentele obligatorii, voi mai folosi:
Am folosit urmatoarele soft-uri de-a lungul proiectului:
Nu am folosit nicio biblioteca externa, in afara de cele de la laboratorul de PM.
Codul a fost scris avand la baza atat laboratorul 0, cat si laboratorul 5. Din laboratorul 0 am preluat modul de redare al notelor muzicale in functie de frecventa folosind buzzerul legat pe pinul PD4. Nota este redata prin tinerea buzzer-ului pornit jumatate din perioada si oprirea lui pentru cealalta jumatate.
Din laboratorul 5 am preluat modul de preluarea al datelor de la cei 8 pini ce vin de la fotorezistoare folosind convertorul analog-digital. Astfel, din masuratorile mele, atunci cand fotorezistorul este luminat pe pin ajunge un nivel al tensiunii de aproximativ 4.7V iar cand este acoperit, valoarea tensiunii scade la aproximativ 2.5-2.7V. Aceste rezultate fiind uniforme pentru toate cele 8 fotorezistoare am stabilit un prag pentru care sa consider a coarda ca fiind “atinsa” (fasciculul de lumina provenit de la diode este intrerupt).
O alta functionalitate ce a trebuit implementata este schimbarea gamei, ce se realizeaza prin intermediul a doua butoane. Ca si principiu de programare, aici sunt folosite intreruperile, avand ca model de referinta laboratorul 2. O gama este reprezentata de un vector de frecvente, cate una pentru fiecare nota din gama, deci schimbarea gamei se face pur si simplu prin schimbarea vectorului de frecvente la cel adecvat.
In plus, folsesc un display cu 7 segmente pentru a afisa octava curenta.
O singura nota paote fi redata la un moment de timp, astfel desi doua lasere sunt intrerupte se alege doar unul in functie de ordine.
Am implementat si posibilitatea de a reda o secventa de note ce este inregistrata in prealabil. implementarea se bazeaza pe un vector de structuri ce descriu nota ce trebuie redata cat si durata aproximativa a acesteia (cat de mult timp fasciculul de lumina corespunzator a fost intrerupt).
Harpa functioneaza perfect, redarea notelor este mai mult subiectiva, din cauza buzzerului, dar se pot distinge diferentele, mai ales intre octave.
In concluzie, a fost un proiect interesant, am avut multe de invatat din el, mai ales la realizarea schemei electrice, lipit si organizarea pe palcuta a diferitelor componente, cat si pe partea de programare. Sunt foarte fericit cu rezultatul final si cred ca a fost o experienta ce ma va ajuta pe viitor.