Cristian-Vasile HOTEA - Chitara-laser

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Asa cum ii spune si titlul, proiectul va consta in realizarea unei chitare ale carei corzi vor fi definite de raze laser.Astfel voi avea 6 lasere care vor emite constant(pe baterii) si 6 receptori care vor citi si vor anunta microcontrollerul atunci cand o raza va fi intrerupta.Microcontrollerul va trimite date la difuzorul chitarei, care in momentul primirii datelor va emite sunetul respectiv pentru o perioada scurta de timp.

Descriere generală

Motivatie: Am hotarat sa realizez acest proiect deoarece o chitara-laser mi se pare un obiect super interesant. Chitara in sine este un instrument important, una cu corzi-laser e si mai interesanta.

Schema bloc:

Costuri

Hardware Design

Folosesc rezistente de 1k pentru a realiza divizoarele de tensiune. Photo-rezistentele se comporta astfel: cu cat primesc mai multa lumina, rezistenta lor scade.Astfel folosind un divizor de tensiune vom putea citi tensiunea de pe photo-rezistenta si determina daca raza a fost intrerupta. Laserele sunt alimentate de la bateriile proprii (3*1.5V) deoarece in urma “desfacerii” unui laser am constatat ca ar fi destul de greu sa il leg la microcontroller fara sa il stric, photodioda care emite lumina este foarte mica si foarte apropiata de buton. Astfel laserele sunt idnependente de restul componentelor.

Software Design

Software-ul a fost scris în folosind Programmer's Notepad impreuna cu winavr, compilat cu avr-gcc, pe Windows 7.

Fisiere: proiect.c

Descrierea proiectului:

Folosind ADC-ul, citesc tensiunile de pe foto-rezistente si determin daca raza a fost intrerupta sau nu. In cazul in care o raza a fost intrerupta, difuzorul va scoate sunetul specific acelei corzi.

Functii implementate:

void PLAYNOTE(float duration, float frequency): aceasta functie va manipula pinul catre difuzor si il va face pe acesta sa scoata sunetul conform frecventei trimise ca si parametru.

void adc_init(): initializarea ADC-ului.

unsigned int adc_read(): citirea valorii adc-ului de pe pinul dorit.

In main, am o bucla in care fac cele 6 citiri(pentru fiecare coarda) folosind adc_read(). In cazul in care tensiunea depaseste pragul stabilit, voi apela functia PLAYNOTE cu frecventa corespunzatoare corzii atinse.

Rezultate Obţinute

Proiectul este functional,se comporta conform descrierii.

Concluzii

A fost un proiect destul de usor de proiectat. Este un proiect simplu care ar putea fi imbunatatit folosind circuite de amplificare pentru difuzor si eventual circuite de filtrare al sunetului.

Download

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2013/sstegaru/42.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