Table of Contents

Pian electric

Autor

Luchian Alina-Elena

Grupa: 331CC

Introducere

Proiectul implica realizarea unui pian electric care va pune la dispozitie urmatoarele functionalitati:

Ideea mi s-a parut foarte interesanta, mai ales ca pune la dispozitie cateva alte feature-uri, pe langa posibilitatea de a canta la claviatura.

Descriere generala

Vor fi puse la dispozitie 5 butoane, fiecare buton reprezentand una dintre functionalitatile amintite mai sus. Un led aflat deasupra fiecarui buton se va aprinde la apasarea aceluia, indicand modul selectat: clear, record, play, search, playDefault.

Schema Bloc

Blocurile care vor interactiona cu microcontroller-ul sunt blocurile de input: Switch buttons si Keyboard buttons si blocuri de output: Buzzer si Led-uri.

<fc #800080>Switch buttons</fc>

Cele 5 butoane vor pune la dispozitie posibilitatea utilizatorului sa aleaga unul dintre cele 5 functionalitati Clear, Record, Play, Search, PlayDefault.

By default, modul pianului este Sing: utilizatorul poate incepe sa cante la pian.

Butonul play va intra in modul in care va inregistra melodia pe care utilizatorul o va canta ulterior apasarii acestui buton. Butonul play va reda ultima melodie inregistrata de utilizator;

La apasarea butonului Search, se va itera prin lista de melodii default, cu cate o pozitie care se incrementeaza cu fiecare apasare, pentru a alege una dintre aceste melodii pentru a fi redata. Butonul PlayDefault va reda melodia selectata anterior din lista de melodii default. Butonul Clear va curata memoria de melodia inregistrata anterior.

<fc #800080>Keyboard buttons</fc>

Vor exista 8 butoane care reprezinta cele 8 note ale gamei (do, re,.., do) prin intermediul carora utilizatorul va putea canta.

<fc #800080>Buzzer</fc>

Prin intermediul difuzorului, utilizatorul va putea auzi atat nota pe care a apasat-o, cat si, in cazul functionalitatii Play, melodia care este redata.

<fc #800080>Leds</fc>

Fiecare buton va avea deasupra lui un LED cu urmatoarele semnificatii:

Hardware Design

Componente necesare

Schema claviatura

Cele 8 butoane sunt conectate la 8 pini ai microcontroller-ului.

*asemanator si cele 5 butoane de alegere a functiei

Schema buzzer

Buzzer-ul este legat la unul dintre pinii PWM de iesire ai microcontroller-ului si la ground prin condensator.

Schema electrica

Rezultat proiect

Rezultatul final al proiectului este urmatorul:

Atunci cand sunt in modul de Sing, cand se apasa o nota muzicala, se va aprinde ledul aferent si se va auzi nota corespunzatoare.

Daca se apasa Record o data, va lumina al treilea bec - cel din mijloc, care va indica faptul ca se inregistreaza. User-ul poate apasa notele muzicale pentru a le inregistra.

Se poate alege o melodie din lista de melodii default. Cand se apasa pe Select, se itereaza prin aceasta lista.

Dupa selectarea in prealabil a melodiei, daca se apasa butonul de PlayDefault, se va reda melodia selectata anterior, luminand led-ul corespunzator notei care este redata.

Software

Utilizatorul va trimite comenzi pianului prin apasarea butoanelor. Efectul apasarii acestora este imediat observat prin aprinderea led-ului corespunzator, eventual, in cazul notei, si prin sunet. O nota este caracterizata printr-o frecventa si o durata (cat timp se tine apasat butonul aferent). O melodie este o coada de astfel de noduri. Redarea unei melodii (fie ca este inregistrata, fie ca este default) reprezinta iterarea prin aceasta coada. Pauza dintre note este si ea luata in considerare in cazul redarii melodiilor. Ea este caracterizata de frecventa 0 si de durata intre doua apasari de butoane.

Inregistrare melodie

O nota (sau o pauza intre note) este alocata si adaugata la sfarsitul cozii. Cand se apasa a doua oara butonul de Record, atunci obtinem melodia dorita.

Redare melodie inregistrata

Ea reprezinta iterarea prin coada si redarea notei cu ajutorul buzzer-ului.

Selectare Default

Initial, iteratorul are indicele zero (pointeaza la prima melodie din lista celor default). Cand se apasa acest buton, iteratorul se incrementeaza. Daca ajungem la finalul listei, iteratorul devine iar zero.

Redare Melodie Default

Daca se apasa butonul de Redare Melodie Default fara a se apasa Select anterior, se va reda prima melodie. Altfel, se reda melodia cu indicele selectat anterior.

Download

codpian.zip

Resurse

schema_electrica_30112.pdf

Pian_electric.pdf

Schema_electrica_pian.pdf

Idei/Concepte

Profesorul de pian

Pian pe tastatura

Pian electric