Andrei-Ionuț LECU (78516) - Harpa laser

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

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.

Descriere generală

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:

Hardware Design

1. Lista de piese

Pe langa componentele obligatorii, voi mai folosi:

  • 8 emitatori infrarosu
  • 8 fotorezistente
  • Buzzer
  • 8+ rezistente
  • cadru
  • alte componente aditionale pentru conectarea celor de mai sus
  • display 7 segmente
  • 4 butoane

2. Scheme electrice

Observatii

  1. Buzzerul a fost pus pe PD4, nu pe PD5 asa cum este prezentat in schema.
  2. Cele doua butoane sunt puse pe PC0, respectiv PC1, nu pe PC6, respectiv PC7.
  3. Am adaugat in plus alte doua butoane puse pe PC2, respectiv PC3 pentru a controla inregistrarea si redarea melodiilor.

Software Design

Am folosit urmatoarele soft-uri de-a lungul proiectului:

  • Schema bloc: www.draw.io
  • Schema electrica: EAGLE si biblioteci pentru fotorezistori si display cu 7 segmente.
  • IDE: Programmer's Notepad (WinAVR)

Nu am folosit nicio biblioteca externa, in afara de cele de la laboratorul de PM.

Redarea notelor folosind buzzer-ul

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.

Detectia corzilor

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).

Schimbarea gamei

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.

Limitari ale implementarii

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.

Inregistrarea si redarea melodiilor

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).

Rezultate Obţinute

Harpa functioneaza perfect, redarea notelor este mai mult subiectiva, din cauza buzzerului, dar se pot distinge diferentele, mai ales intre octave.

Poze cu proiectul

Concluzii

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.

Download

Jurnal

  • Pentru ca diodele sunt foarte sensibile, firicelele se rup imediat, am recurs la metode drastice de fixare a lor. (mai multe detalii in poze :D)
  • Initial doream sa fac detectia intreruperii fasciculului de lumina provenit de la diode folosind ori intreruperi ori citirea valorilor de pe pinii portului A (asemanator cu prcedeul prin care se citeste starea unui buton), dar dupa ce am masurat si am vazut ca tensiunea scade doar pana la 2.7V am decis ca cel mai echitabil este sa folosesc convertorul analog-digital.
  • Findca am decis ca proiectul este cumva destul de usor ca si parte a implementarii software, ma gandesc sa implementez si posibilitatea de a face o scurta inregistrare a “melodiilor”.

Bibliografie/Resurse

  • Documentația în format PDF
  • Schema electrica in EAGLE: harpa.sch
pm/prj2018/mandrei/andreilecu.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