Back

2011_P18

Viewing page version #11
(Restore this version) 

Modified: 5 April 2010, 9:25 PM   User: Vlad Mihaela  → VM

Instrument Muzical

Descrierea proiectului

Proiectul presupune redarea sunetului a trei instrumente muzicale cu ajutorul tastaturii placutei EV/Z3.

Doua din cele trei instrumente, pianul si chitara, vor fi actionate de la tastatura placutei, sunetul fiind redat cu ajutorul unui player prin intermediul calculatorului Al treilea instrument, flautul, va fi  actionat  cu ajutorul  tastaturii placii, in schimb sunetul va fi redat prin buzzer-ul incorporat pe placuta EV/Z3.

Cerintele proiectului

Placa EV/Z3 se concteaza la  PC  prin seriala.

La PC  vom reda sunete cu ajutorul  programului MIDIPlayer.

La pornirea aplicatiei, pe display va fi afisat instrumentul selectat, presetat este Pianul.

Pentru a face comutarea intre cele trei instrumente : Pian, Flaut si Chitara; se vor apasa tastele 1,2 sau 3. Aplicatia mai permite si redarea unei melodii aflate in memorie, tasta 0, cat si modificarea frecventelor notelor flautului, tasta 4.

Pentru a iesi din modulul de selectare al instrumentului se va apasa pe orice tasta in afara celor 5  (0-4). Se va realiza saltul catre instrumentul dorit, pe display ramanand numele  instrumentului  selectat  pana  se  va  apasa  prima nota,  apoi  afisandu-se  nota apasata cu frecventa acesteia.

Pian

Pentru simularea comportamentului pianului s-au atribuit fiecarei taste de la 1

pana la 9 cate o frecventa din cadrul primei octave.

Pentru iesirea din pian, se va apasa o tasta A-F sau 0, taste neatribuite cu nici o nota. Saltul se va realiza inapoi la selectia instrumentului.

Flaut

Functionalitatea flautului a fost simulata in mod asemanator cu cele ale chitarei si pianului,   variind   doar  frecventa  si  numarul  tastelor  ce  simuleaza  iesirile  din  cadrul flautului, trei la numar.

Pentru iesirea din programul de simulare a fluierului se va apasa orice tasta intre 4-F sau tasta 0.

Componente

INT 10H

Aceasta intrerupere comanda emiterea de sunete cu buzzer-ul. Este posibil

specificarea frecventei si duratei sunetului emis.

INPUT BX = duration

CX = frequency

OUTPUT none Altered none Registers

Z3ev_io.c

S-au implementat trei functii specializate: Afisare, Sound si Pred (predefinit)

Sound are ca parametrii frecventa si durata sunetului de redat, avand rolul de a accesa intreruperea buzzerului (10H), iar functia Pred are rolul de a reda o succesiune de frecvente predefinite si  de a accesa intreruperea de buzzer pentru fiecare frecventa in parte.

Functia de Afisare primeste ca parametru frecventa introdusa de la tastatura, o converteste intr-un string dupa care o afiseaza pe display-ul EVZ3.

Algoritmul se bazeaza pe impartirea numarului cu rest la 10 si pe urma impartirea numarului la  10, adaugarea resturilor intr-un vector de caractere, pornind de la dreapta spre stanga, exact in ordinea obtinerii resturilor. Pe pozitiile imediat urmatoare inserarii frecventei, se vor adauga caracterele H si z, de la Hertz.

 

Status

27 aprilie - implementarea functiilor de afisare si sound

5 mai - implementarea instrumentelor muzicale

17 mai - testarea buzzer-ului