Escolar Documentos
Profissional Documentos
Cultura Documentos
Passo Fundo
2010
2
Banca Examinadora:
Passo Fundo
2010
"As pessoas existem e temos que aprender a lidar com elas diante de cada situao."
-- Julio Chagas Pitthan
4
Agradecimentos
Agradeo a Deus pela vida, aos familiares pelo apoio inclusive financeiro, e ajuda
nas dificuldades. Aos amigos, que mesmo longe me apiam e incentivam. Aos professores
que me transmitiram conhecimentos para minha formao acadmica e os professores dos
ensinos tcnico, mdio, fundamental, pr-escola e jardim de infncia. Aos professores Paulo,
orientador deste trabalho por acreditar na minha capacidade, Adriano, por me ajudar durante o
projeto com dicas e material e Blanca pela cobrana, amizade e ensinamentos. Aos meus
colegas da Eng. Biomdica do HC pelo apoio, os amigos Anselmo Pires, Cleciane Rosato,
David Povala, Flvio Helbling, Marcos dos Santos, Ramon Barreto e Rodrigo de Marqui. Um
agradecimento especial aos colegas Amauri Balotin, Bruno Taglietti, Christiano Bouvi,
Guilherme Leso, Helder Marcon, Henrique Misturini, Joan Levandoski, Joo Mossinni,
Marcelo Fantinatti, Marcelo da Silva, Mauren Zardo, Paulo Venturini, Pedro Bruxel, Ricardo
Frosi, Rodrigo Busato, Rmulo Mnica, Thales Marafon, Tiago Rosado e Vincius Ebone
com quem compartilhei esta caminhada, entre tantos outros com quem convivi neste perodo.
Agradeo em especial aos integrantes e amigos da minha banda Thunder Force pelo
apoio e incentivo principalmente na questo de aprender a no desistir dos objetivos traados
diante das dificuldades e tambm no gosto pela msica, especialmente o Metal, estilo
trabalhado e estruturado que nos estimula e agrega valores como msico e como pessoa.
RESUMO
ABSTRACT
Musical instruments and electronic accessories are now gaining ground in the daily
routine of most bands, professionals in the music and even people in general. A conventional
guitar must have exchanged their strings often, you need effects pedals and / or simulators and
amplifiers. To make life easier for students of guitar, this graduation project developed a
prototype of a MIDI controller shaped guitar with touch sensors instead of strings, and with
wireless communication USB to computer. The prototype also serves to aspiring musicians
learning guitar in a fun way with the help of a software publisher of existing scores, for
example, Guitar Pro. This enriches the practice of musical development, particularly children
who are interested in controlling and therefore the art of music, which helps the growth of the
artistic side of these people.
LISTA DE ILUSTRAES
LISTA DE TABELAS
10
SUMRIO
INTRODUO.............................................................................................................................13
1.
Estudo Terico.......................................................................................................................14
1.1
Teoria Fsico-Musical...............................................................................................14
1.2
1.2.1
Brao.....................................................................................................................17
1.2.2
Mo e Tarrachas ...................................................................................................17
1.2.3
Pestana ..................................................................................................................18
1.2.4
Escala....................................................................................................................18
1.2.5
Alavanca ...............................................................................................................18
1.2.6
Trastes...................................................................................................................19
1.2.7
Encordoamento.....................................................................................................19
1.3
Partitura ....................................................................................................................20
1.4
Tablatura...................................................................................................................21
1.5
1.6
MIDI .........................................................................................................................24
1.6.1
1.6.2
1.6.2.1
1.6.2.2
Controladores .......................................................................................................26
1.6.3
1.6.3.1
1.6.4
Os canais MIDI.....................................................................................................28
1.6.4.1
Sintetizadores Multitimbrais.................................................................................29
1.6.5
1.6.6
1.7
Placa de Toque..........................................................................................................31
1.8
1.9
LDR ..........................................................................................................................33
1.10
Fotodiodos ................................................................................................................33
11
2.
1.11
Fototransistores.........................................................................................................34
1.12
3.
Resultados Obtidos................................................................................................................59
12
INTRODUO
O controlador MIDI, que o dispositivo que envia as informaes de como e qual nota
deve ser executada, pode ficar relativamente longe do equipamento que ir executar o som
desejado. Neste projeto de graduao foi projetado e construdo um prottipo de controlador
MIDI prevendo a extino do gasto na troca de cordas, diminuio de volume e peso em
comparao com uma guitarra MIDI comum, que se difere da guitarra convencional pelo uso
de captadores MIDI. Este trabalho tambm incentiva o aprendizado da msica com a
utilizao de um editor de partituras j existente como, por exemplo, o Guitar Pro. O prottipo
composto por sensores tteis que fazem o papel de brao da guitarra e outros que
detectam qual corda foi tocada, microcontrolador, para processar as informaes referentes
s notas, que so executados por um microcomputador. O envio de dados do
microprocessador ao microcomputador se d via mdulos transceiver wireless - USB.
No primeiro captulo temos um estudo terico a respeito dos temas envolvidos neste
projeto, no segundo captulo abordado o desenvolvimento do sistema e do prottipo
confeccionado, e no terceiro captulo encontramos os resultados obtidos com esse trabalho.
13
1. Estudo Terico
1.1.1
Srie Harmnica
1.1.2
Histria
14
Pitgoras percebeu que ao colocar uma corda em vibrao ela no vibra apenas em sua
extenso total, mas forma uma srie de ns, que a divide em sees menores, os ventres, que
vibram em freqncias mais altas que a fundamental. Se o monocrdio for longo o suficiente,
estes so visveis. Estes ns se formam em pontos que dividem a corda em duas, trs partes
iguais e assim sucessivamente. Em uma corda real se sobrepem, gerando um desenho
complexo, semelhante forma de onda do instrumento. Se colocarmos o dedo sobre um dos
ns, isso provoca a diviso da corda em sees menores e torna os ventres mais visveis. Esta
experincia pode ser feita com um violo, ao pousar um dedo sobre o 12 traste e dedilhar a
corda. Isso divide a corda em duas sees iguais e permite ver dois ventres distintos em
vibrao. [1]
Pela relao entre os comprimentos das sees e as freqncias produzidas por cada
uma das subdivises, conclui-se que a corda soa simultaneamente, na freqncia fundamental
(F) e em todas as mltiplas inteiras (2F, 3F, 4F, etc.) onde cada uma um harmnico.
A altura da nota produzida pela corda determinada pela freqncia fundamental. As demais,
embora ouvidas, no
so percebidas
A Figura 1.1 abaixo mostra uma guitarra eltrica com suas partes indicadas. [3]
1. Mo ou paleta
2. Pestana
3. Tarrachas ou Cravelhas
4. Trastes
5. Tirante ou Tensor (Alma)
6. Marcao
7. Brao
8. Trculo (Junta do Brao)
9. Corpo
10. Captadores
11. Potencimetros
12. Ponte
13. Escudo
14. Cordas
Figura 1.1 Guitarra Eltrica. [3]
16
1.2.1
Brao
O brao da guitarra (Figura 1.1) composto de uma barra macia e rgida de um tipo
de madeira diferente da utilizada no corpo, onde fixado. Madeiras de grande resistncia
trao so preferveis e uma das mais utilizadas o mogno. responsvel pela fixao de
uma das extremidades das cordas e para permitir a execuo das notas atravs da variao do
comprimento das mesmas. Fazem parte do brao: a mo, a pestana, a escala, os trastes e
alguns elementos decorativos (de madreprola, marfim ou bano) utilizados na marcao. [3]
O brao pode ser fixado ao corpo por parafusos. Em alguns casos, um tirante
utilizado para se opor curvatura provocada pela tenso das cordas. A fixao do brao
crtica para a afinao do instrumento, pois a variao no ngulo do brao em relao ao
corpo pode provocar variaes na altura das notas. Indesejvel na guitarra clssica, este efeito
pode ser usado para obter certas inflexes na altura (bends), sobretudo no blues. [3]
1.2.2
Mo e Tarrachas
17
1.2.3
Pestana
A pestana uma pequena barra de osso, plstico ou madreprola, fixada entre o incio
do brao e a mo. Possui um pequeno sulco entalhado para passagem de cada corda que
permite o posicionamento correto das mesmas. Apia as cordas na extremidade do brao. o
ponto de origem do comprimento das cordas (traste zero). Hoje, em alguns modelos de
guitarras eltricas, h pestanas especiais que possuem travas, como parafusos, que impedem
que o instrumento seja desafinado na execuo de alavancadas (vibratos artificiais). [3]
1.2.4
Escala
Feita de uma madeira diferente do resto do brao, como bano, a escala a parte do
instrumento onde as cordas so apoiadas quando o msico quer divid-la. sobre ela que os
trastes so montados. Possui marcas em forma de crculo, losangos ou tringulos, incrustadas
por marchetaria que so de madreprola, marfim ou bano. s vezes so pintadas e servem
para ajudar o msico a identificar as casas na escala. Geralmente usada uma marca na 3, 5,
7, 9, 12, 15, 17, 19, 21 e 24 casas e duas marcas na 12, s vezes na 7 e na 24 casas. Em
algumas guitarras estas marcas podem ser luminosas, com LEDs ou fibras pticas. [3]
1.2.5
Alavanca
Parte da guitarra usada para efetuar um efeito chamado vibrato que consiste em alterar
a altura das notas de forma que elas transpassem a idia de uma onda fluindo, muito utilizado
em alguns ritmos agitados, porm principalmente usado no heavy metal e no rock. [3]
18
1.2.6
Trastes
= 1,059463, aplicada
sucessivamente a cada intervalo. As casas prximas pestana so mais largas que as prximas
ao corpo. O 12 traste divide a corda na metade e o 24 divide a corda em um quarto do
comprimento total. Cada doze trastes representam um intervalo de exatamente uma oitava. [3]
O comprimento vibrante da corda quando a corda pousa sobre o traste n dada pela
equao:
1.2.7
Encordoamento
distncia entre as cordas e a escala, pois a afinao do instrumento pode sofrer variaes se a
distncia das cordas for muito grande. Cordas muito prximas da escala podem encostar-se
aos trastes ao vibrar, o que produz um rudo desagradvel (trastejamento). A outra
extremidade da corda passa sobre a pestana, depois enrolada em espiral sobre o eixo das
tarrachas. Como a ponte e a pestana so mais altas que o brao e o corpo do instrumento, as
cordas ficam estendidas e tensionadas entre essas duas peas e podem vibrar livremente
quando dedilhadas ou tangidas por uma palheta. [3]
1.3 Partitura
Cada linha pode representar diferentes notas musicais, dependendo da clave. As claves
mais usuais so: Clave de Sol - a 2 linha de baixo para cima recebe a nota sol, Clave de F - a
4 linha recebe a nota f, Clave de D - a 3 linha (central) recebe a nota d. Pode ser
encontrada na 2 ou 4 linha. [4]
1.4 Tablatura
Enquanto a notao musical padro representa o ritmo e a durao de cada nota e a sua
altura relativa escala baseada em uma diviso em doze partes (tons) da oitava, a tablatura
mais operacional, indicando quando e onde colocar os dedos para gerar uma nota, de forma
que a altura denotada implicitamente. Os smbolos rtmicos da tablatura dizem quando
iniciar uma nota, mas quase nunca h uma indicao precisa de quanto tempo ela deve durar,
a durao fica a critrio do intrprete. Por isso comum dizer que a tablatura uma notao
prescritiva e a notao convencional (em pauta), descritiva. [5]
21
A tablatura para cordas pinadas baseada sobre uma representao em diagrama das
cordas e trastes do instrumento. A de teclado mostra as teclas do instrumento e a de flauta
mostra que furos devem ser mantidos abertos ou fechados. [5]
22
Muitos editores de partitura tambm permitem que a msica seja reproduzida via
MIDI ou, em alguns casos, por programas sintetizadores. Isso significa que os editores de
partitura tm algo em comum com os seqenciadores - muitos dos quais podem tambm, at
certo ponto, escrever notao musical - embora editores de partitura sejam usados
primordialmente para isso, enquanto os seqenciadores o so para gravar e tocar msica. [6]
Alguns editores permitem que o trabalho seja personalizado e ajustado de acordo com
as exigncias dos editores para produzir editorao musical de alta qualidade e adequ-lo ao
estilo especfico de cada estabelecimento. Outros permitem aos usurios publicarem seus
trabalhos na Internet, onde podem ser reproduzidos, transpostos e impressos, em certos casos,
cobrando-se uma taxa. [6]
Quase todos os editores de partituras usam seus prprios formatos de arquivo. A fim
de compartilhar arquivos entre diferentes editores (ou com outros tipos de programas,
como seqenciadores), muitos editores podem tambm importar e exportar um ou mais
padres de formato de arquivo de intercmbio, como: [6]
NIFF: formato de arquivo obsoleto que foi suportado por alguns editores. [6]
23
1.6 MIDI
1.6.1
Protocolo MIDI
Mensagens MIDI
24
Para transmisso, cada mensagem MIDI recebida em paralelo por uma UART que
converte em um formato serial. Essa comunicao serial utilizada entre os dispositivos a
uma taxa de transmisso de 31.250 bits por segundo (31,25 kbps). O primeiro e o ltimo bit
so start e stop e so usados para sinalizar os dispositivos antes e aps o envio das
mensagens. Aqui, o valor do start bit 0 (zero) e o stop bit 1 (um). Dos oito bits
restantes (mensagem MIDI), o mais significativo um bit de status para informar se a
mensagem um comando ou um argumento para um comando. A interpretao das
mensagens MIDI que so trocadas pelos sintetizadores ou processadores de sinal realizada
por um driver especial, que pode ser um microprocessador independente ou ser parte do
sistema operacional da mquina. [7] [9]
1.6.2.2 Controladores
1.6.3
A Conexo MIDI
Uma das maiores preocupaes dos idealizadores do MIDI, foi de sua incluso no
produzir um aumento no custo de fabricao que foi conseguido devido aos circuitos de
interfaceamento, e s facilidades para o usurio interconectar seus equipamentos. O MIDI usa
um cabo de udio blindado com dois condutores com conectores do tipo DIN comuns, de
cinco pinos ("plug Philips"). A transmisso de dados MIDI se d de forma unidirecional e
designamos os instrumentos como "transmissor" ou "mestre" aquele de onde a informao sai
e "receptor" ou "escravo" aquele aonde a informao chega. Pode-se operar o MIDI em modo
bidirecional, de forma que os equipamentos tanto recebem quanto transmitem informaes.
Os instrumentos MIDI possuem conexes apropriadas para as ligaes MIDI, que so MIDI
In, MIDI Out e MIDI Thru conforme Figura 1.5. A primeira serve para o instrumento receber
informaes; ela a entrada de dados para o instrumento receptor. A conexo MIDI Out,
serve para o instrumento transmitir informaes; ela a sada de dados para o instrumento
transmissor. A terceira conexo, que em alguns instrumentos pode no existir, uma sada de
dados serve para retransmitir para outros as informaes recebidas pelo instrumento, e serve
para fazer encadeamentos mltiplos de instrumentos. [8]
Figura 1.5 Conectores de passagem (THRU), de sada (OUT) e entrada (IN) MIDI. [7]
26
(um
teclado,
por
exemplo)
conectada
entrada
de
outro.
[8]
Se quisermos controlar dois instrumentos a partir de um teclado, poderemos encadelos usando a conexo MIDI Thru (Figura 1.7). As informaes geradas pelo instrumento
transmissor chegam ao primeiro teclado receptor e so usadas por ele e as mesmas
informaes passam atravs do teclado receptor e chegam entrada do mdulo sintetizador,
que usar as informaes, desde que o canal de recepo esteja selecionado corretamente. [8]
O computador pode funcionar tanto como receptor (quando voc toca a msica no
teclado e o computador armazena as informaes MIDI), quanto como transmissor (quando
ele re-executa a msica no teclado, a partir das informaes MIDI armazenadas) (Figura 1.8).
H duas ligaes In - Out: uma do computador para o teclado; outra do teclado para o
computador. As interfaces MIDI dos computadores no possuem conexo MIDI Thru. [8]
Os canais MIDI
Para transmitir informaes de notas e outros eventos musicais, o sistema MIDI dispe
de 16 canais. O funcionamento semelhante ao sistema de TV (Figura 1.9): se o transmissor
usa um canal MIDI (digamos, canal 1), o equipamento receptor s recebe as informaes se
estiver ajustado para o mesmo canal MIDI (no caso canal 1). Os equipamentos atuais possuem
ajustes separados de canal de transmisso e recepo, onde um sintetizador pode estar
configurado para transmitir MIDI pelo canal 2, e receber pelo canal 4. Como os instrumentos
mais modernos so "multitimbrais" podem receber em vrios canais simultneos,
independentemente do ajuste do seu canal de transmisso. [8]
1.6.5
1.6.6
Limitaes do MIDI
31
O tipo de contato utilizado na placa de toque foi uma das formas utilizadas como
interruptor de toque em diversos dispositivos eletrnicos em lugar de um boto de empurrar.
Porm se tornou menos utilizado pela diminuio da confiabilidade de seu funcionamento,
pois em condies de extremos como pele muito seca, excesso de leo, manteiga ou outros
resduos ou mesmo a utilizao de luvas impedia os circuitos de funcionarem adequadamente,
por isso as placas de toque foram substitudas por interruptores de membrana na maioria dos
dispositivos eletrnicos j que as membranas requerem apenas uma leve presso e nenhuma
sujeira pode entrar no interruptor que est lacrado. [10]
1.9 LDR
Um LDR sensvel das faixas: Infravermelho (IR), Luz visvel e Ultravioleta (UV),
pode ser soldado de maneira simples e muito frequentemente utilizado nas chamadas
fotoclulas que controlam o acendimento de poste de iluminao e luzes em residncias.
Tambm utilizado em sensores foto-eltricos assim como fotodiodos. [13]
1.10
Fotodiodos
33
1.11
Fototransistores
Como a base est normalmente desconectada, a corrente que circula por ela depender
apenas do fluxo luminoso incidente. Na ausncia de luz, a corrente de base zero e o
fototransistor est cortado, resultando na tenso do coletor igual tenso de polarizao Vcc.
Quando h luz, a tenso no coletor ir diminuir devido ao aumento da corrente. A aplicao
mais usual a de um interruptor. Enquanto no h luz incidindo no fototransistor, no haver
uma corrente no emissor, e a tenso de sada ser zero, estando ele em corte. Com a
incidncia de luz, teremos uma corrente no emissor, provocando uma tenso igual IeRe. [14]
34
1.12
Mdulos ZigBee/XBee
XBee:
XBee-Pro:
Performance
Performance
Alimentao
Alimentao
Propriedades fsicas:
Propriedades fsicas
35
XBee e XBee-Pro:
Alimentao
Performance
- Tenso de alimentao: 2.8 3.4v;
- Freq.operao: ISM 2.4GHz; [15]
Propriedades fsicas
Rede
Geral
36
Modo Transparente
Os dados recebidos da UART pelo pino DI (RX) so colocados na fila para transmisso
via RF. Os dados recebidos do canal de RF so transmitidos atravs do pino DO (TX) e
recebidos como uma comunicao Serial RS232 padro (Figura 1.14). [15]
baseado em frame e assim estende o nvel para o qual uma aplicao de Host pode
interagir com as capacidades de Rede do mdulo. No modo API (Figura 1.15) os dados
transmitidos e recebidos esto contidos em frames, que definem operaes ou eventos dentro
do mdulo. Atravs desse modo de operao possvel um determinado mdulo enviar
endereo fonte, endereo destino, nome de um determinado n, sinal RSSI, estado, e muito
mais. [15]
Na Tabela 1.1 abaixo est descrito o significado de cada pino dos mdulos
XBee/XBee-pro. [15]
37
Direo
Descrio
Sada
Entrada
Sada
Alimentao 3,3v
Sada de dados da UART
Entrada de dados da UART
Sada digital 8
Inicializa mdulo (um pulso nvel 0 de
pelo menos 200ms)
Sada do PWM 0 / Indicador de Fora do
sinal de RF (RX)
Sada do PWM 1
Ainda no tem uma funo definida
(futura implementao)
Entrada
PWM0 / RSSI
Sada
PWM1
Sada
(Reservado)
10
/
SLEEP_IRQ /
DI8
GND
11
AD4 / DIO4
Entrada/Sada
12
/ DIO7
Entrada/Sada
13
ON / SLEEP
Sada
14
VREF
Entrada
15
Associao /
AD5 / DIO5
Entrada/Sada
16
/ AD6 /
DIO6
Entrada/Sada
17
AD3 / DIO3
Entrada/Sada
18
AD2 / DIO2
Entrada/Sada
19
AD1 / DIO1
Entrada/Sada
20
AD0 /DIO0
Entrada/Sada
Entrada
-
Figura 1.16 Formato para enviar comandos ATs ao mdulo XBee/XBee-Pro. [15]
Resposta do
XBee/XBee-Pro
Significado
+++
OK<CR>
ATDL5001<ENTER>
ATDL<ENTER>
ATMY5000<ENTER>
ATMY<ENTER>
OK<CR>
5001<CR>
OK<CR>
5000<CR>
ATWR<ENTER>
OK<CR>
ATCN<ENTER>
OK<CR>
39
Observao:
*Se o comando WR no for executado, as modificaes permanecero na
memria do mdulo, somente enquanto o mesmo estiver recebendo alimentao da fonte de
energia eltrica; [15]
*Todos os parmetros numricos de configurao do mdulo devem ser entrados
em hexadecimal (no digitando o prefixo 0x); [15]
possvel enviar comandos para configurar o mdulo em uma nica linha: [15]
Resposta do XBee/XBeePro
ATDL5001,MY5000,WR,CN<ENTER>
ATNI Sensor_Temp_01<ENTER>
OK<CR>
ATNI<ENTER>
Sensor_Temp_01<CR>
ATVR<ENTER>
10C0<CR>
ATHV<ENTER>
180B<CR>
Significado
Altera o endereo DL para 5001, o MY
para 5000, grava os dados na memria
Flash e sai do modo comando.
D um nome para o mdulo XBee-XBeePro - "Sensor_Temp_01".
Pode usar at 20 caracteres ASCII para
nomear o mdulo.
Retorna o nome do mdulo XBee/XBeePro.
Resposta do
XBee/XBee-Pro
OK<CR>
OK<CR>
OK<CR>
Significado
Muda a velocidade do mdulo para
trabalhar com 19200bps, e salva
mudana na memria Flash.
40
Observao:
Aps alterar a velocidade, preciso mudar a velocidade da interface Serial do XCTU, na Aba "PC Settings", para que possamos nos comunicar com ele. [15]
Se as configuraes a serem feitas forem muitas, o mtodo mais fcil alterar os
parmetros atravs da Aba "Modem Configuration" do programa X-CTU, com os passos
abaixo: [15]
1) Conecte um mdulo XBee ou XBee-Pro atravs de uma interface com a porta RS232 ou
USB (placa CON-USBBEE Rogercom) do PC; [15]
2) Execute o programa X-CTU. Na Aba "PC-Settings" selecione a COM associada interface
onde o XBee/XBee-Pro est conectado; [15]
3) Clique na Aba "Modem Configuration"; [15]
4) Clique no boto "Read"; se no for possvel ler o mdulo por incompatibilidade da verso
do firmware, clique no boto "Download New Versions" ( preciso estar conectado
Internet). Aps a atualizao, feche o X-CTU e abra-o novamente. Repita todos os passos
anteriores. [15]
5) Se houve sucesso no passo anterior, modifique os parmetros que deseja e depois clique no
boto "Write" para gravar na memria Flash do mdulo XBee/XBee-Pro. [15]
Siga os passos abaixo para colocar segurana nos mdulos XBee/XBee-Pro. Para
esses exemplos atualize a verso do firmware com a 10C0. [15]
1) Conecte um mdulo XBee ou XBee-Pro atravs de uma interface com a porta RS232 ou
USB (placa CON-USBBEE Rogercom) do PC; [15]
2) Execute o programa X-CTU. Na Aba "PC-Settings" selecione a COM associada interface
onde o XBee/XBee-Pro est conectado; [15]
41
42
2. Desenvolvimento do Sistema
1.
2.
3.
4.
5.
6.
7.
Foram estudadas diversas alternativas de sensores de toque para este projeto, dentre
elas pode-se enfatizar trs opes principais para a utilizao da mo que compe notas e
acordes no brao do controlador: micro-chaves, placa de toque e teclado de membrana. Dentre
as trs, para uma das mos foram testadas duas placas de toque matriciais, confeccionadas
especialmente para este trabalho e foi feito um teclado de membrana. J para a mo que toca
as cordas virtuais testou-se o uso de LDRs e pares de LED-infravermelho/fototransistor,
que apresentaram melhor desempenho em relao ao anterior.
Trata-se de uma matriz que foi feita em placa de fibra de vidro dupla-face revestida de
cobre, de seis linhas por 20 colunas com 120 pontos de interseco entre as trilhas das linhas
chamadas de cordas e as colunas chamadas de casas, que tem por objetivo fechar contato
com uma trilha ligada ao terra de potencial 0V(nvel lgico baixo), com dimenses de 40cm
de largura, 5cm de altura e espessura desprezvel (Figura 2.2). Ao serem colocados os dedos
nas interseces dessas trilhas de cordas e casas, em cada uma delas fechado o contato
com o terra. O microcontrolador recebe as informaes atravs de seus pinos de I/O ligados a
essas trilhas e configurados como entrada de sinal digital, identificando a que nota
corresponde cada posio pressionada.
44
1) Uma placa de fibra de vidro de apenas uma face revestida de cobre, com 20 casas
de duas trilhas em cada uma sendo uma correspondente a cada casa em si e a outra ao terra, de
dimenses 41,13cm de largura, 5,61cm de altura e espessura desprezvel;
3) Seis tiras de um papel alumnio especial retirado do interior de uma espcie de cano
de proteo e isolao que envolve os fios de telefone utilizados nas montagens de circuitos
em protoboard, que possui uma camada de um material plstico isolante de cor azul que serve
para melhorar a resistncia fsica do mesmo, de dimenses 41,13cm de largura,
aproximadamente 0,65cm de altura e espessura desprezvel colocados sobre as camadas de
adesivo isolante.
As outras partes consistem em tiras de adesivo utilizadas para prender as tiras de papel
alumnio no adesivo isolante superior e um plstico que envolve todas essas partes protegendo
o conjunto do contato de sujeira, oleosidade e suor decorrentes do manuseio (Figura 2.3).
Para garantir o contato das tiras de papel alumnio com as respectivas vias do cabo flat
utilizado para ligar o teclado de membrana nos pinos correspondentes do microcontrolador foi
necessrio utilizar uma espcie de abraadeira confeccionada com duas tiras de plstico de
dimenses 1cm x 9,5cm x 0,3cm presas por dois pares rosca/parafuso. Como infelizmente as
tiras de papel alumnio no tinham o comprimento necessrio de acordo com a necessidade do
projeto, foi necessrio fazer uma emenda em cada tira entre a quarta e a quinta casas com o
lado bom de sinalizar a posio da quinta casa, sinalizao normalmente feita em guitarras
atravs de marcaes decorativas no brao do instrumento.
46
Foi confeccionada uma segunda placa de toque matricial (Figura 2.4) com as mesmas
medidas da placa do teclado de membrana, porm com as trilhas mais espessas em relao
primeira placa de toque confeccionada e testada anteriormente, tambm com dupla-face.
47
A vantagem que essa verso pde ser corroda e assim foi eliminado o problema do
mau contato devido ao cobre excedente. Por outro lado descobriu-se que a presso do dedo
nas trilhas precisa ser muito forte se comparada presso exercida no teclado de membrana,
para que seja fechado o contato entre as trilhas de cada ponto de interseco, o que torna mais
difcil o usurio conseguir executar a(s) nota(s) que quer ouvir. Outro problema encontrado
foi a possibilidade do usurio machucar os dedos ao tentar desliz-los encostados na placa
pelo fato de ter pontos de solda devido necessidade de ter contatos entre essas trilhas que
podemos observar na figura em forma de C e as trilhas correspondentes s cordas, o que
prejudica a aceitao dessa placa de toque para o prottipo.
48
Antes da escolha do ttulo deste trabalho foi desenvolvida uma forma de o prprio
microcontrolador gerar o som de cada nota musical necessria para o projeto, ainda quando se
pretendia confeccionar um violo ou guitarra eletrnica onde seriam gerados os sons no
prprio prottipo, idia que foi amadurecida at se optar por construir um controlador MIDI,
50
algo que teria um resultado melhor por utilizar os sons do sintetizador de udio da placa de
som de um computador e com possibilidades de escolher diversos timbres e sons de
instrumentos diferentes alm de um amplo leque de possveis aplicaes futuras Inicialmente
estudou-se a entrada conversora analgico-digital interna do microcontrolador PIC16F877 e
em seguida programou-se uma rotina no firmware de modo que ao ser variada a tenso em
cada um dos seis pinos configurados como entrada analgica em aproximadamente 0,2V por
nota. Totalizando 23 divises e com o primeiro valor de 0,5V no utilizado e 23 notas por
corda (corda solta e 22 notas do brao), gerava-se cada nota musical de forma muito simples,
intercalando nvel lgico alto e nvel lgico baixo no pino de sada numa determinada
freqncia de acordo com a(s) nota(s) tocada(s) gerando assim um somatrio de at seis ondas
quadradas na sada e produzindo, portanto um som no to agradvel ao ouvido e sem um
timbre parecido com o de violo ou guitarra. O hardware dessa etapa do projeto no foi
montado em circuito impresso, sendo realizadas simulaes no computador e montagens em
protoboard usando botes da resistncia em srie para o terra para obter a tenso
correspondente nota do boto em cada um dos 6 pinos de entrada do sinal que
correspondiam a cada uma das cordas da guitarra. As maiores dificuldades encontradas foram
conseguir executar seis notas ao mesmo tempo, problema solucionado ao longo do
desenvolvimento dessa tentativa e em se obter uma boa preciso na relao da tenso
fornecida aos pinos da entrada analgica, pois mesmo com todos os ajustes feitos em
decorrncia da utilizao de resistores com tolerncia de 10%, alguns botes enviavam
tenses com diferenas inferiores aos 0,2V estipulados, o que acarretava em um mesmo boto
fazer o microcontrolador executar alternadamente de uma a 3 notas diferentes, a nota correta,
a anterior e a prxima nota.
Incio
Configuraes Iniciais
Corda 1
Testa Casa
Tocada
Chama
Funo de
Envio
Corda 2
Testa Casa
Tocada
Chama
Funo de
Envio
Corda 3
Testa Casa
Tocada
Chama
Funo de
Envio
Corda 4
Testa Casa
Tocada
Chama
Funo de
Envio
Corda 5
Testa Casa
Tocada
Chama
Funo de
Envio
Corda 6
Testa Casa
Tocada
Chama
Funo de
Envio
Nota
Musical
329,5
349
370
392
415,5
440
466
494
523
554
587
622
659
698
740
784
831
880
932
988
1046
1108
1174
1244
1318
1396
1480
1568
1662
1760
1864
1976
2092
2216
2348
2488
2636
2792
2966
3136
3324
3520
3728
3952
4184
MI
F
F#
SOL
SOL#
L
L#
SI
D
D#
R
R#
MI
F
F#
SOL
SOL#
L
L#
SI
D
D#
R
R#
MI
F
F#
SOL
SOL#
L
L#
SI
D
D#
R
R#
MI
F
F#
SOL
SOL#
L
L#
SI
D
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Cdigo
MIDI
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
53
C1 = (0.1 x 0.008)/0.78;
C1= 1000F
54
Tambm foi utilizada como alternativa fonte uma bateria de 9V para alimentar o
circuito do controlador sem a necessidade de conexo rede eltrica.
Foi utilizado outro mdulo XBee, encaixado na placa CON-USBBEE (Figura 2.10)
conectada na porta USB do microcomputador, afim de receber o sinal proveniente do
microcontrolador ligado ao primeiro mdulo.
Em seguida basta selecionar a opo USB Serial Port (COMx) (nesse caso x = 3) na
aba PC Settings, clicar no boto Test/Query e aguardar a mensagem mostrada na Figura
2.13. Caso a mensagem no confirme o funcionamento correto da comunicao, deve-se
repetir os procedimentos anteriores at se conseguir a confirmao de comunicao.
56
Com o Guitar Pro 5 v5.2(Figura 2.15) foi possvel a criao de partituras e tablaturas
em tempo real utilizando o prottipo do controlador.
57
foi
3. Resultados Obtidos
59
possvel se utilizar o controlador tanto por destros quanto por canhotos, bastando
para isso inverter fisicamente as conexes da placa dos fototransistores e da placa do
microcontrolador referentes s tiras de papel alumnio que fazem o papel das cordas do
teclado de membrana, de acordo com a escolha do usurio (Figura 3.4).
60
Na execuo de notas isoladas uma de cada vez o controlador respondeu muito bem e
foi possvel escrever em tempo real tanto a partitura como a tablatura do incio da introduo
de Pour Elise do grande compositor clssico Ludwig Van Beethoven, msica escolhida para
exemplificar o funcionamento do prottipo do controlador utilizando para isso o software
compatvel com a comunicao MIDI, o Guitar Pro 5 v5.2 (Figura 3.5). Percebeu-se apenas
que o tempo de cada nota padronizado devido s configuraes prvias do editor utilizado.
CONSIDERAES FINAIS
Para facilitar a vida dos estudantes de guitarra, neste projeto de graduao
desenvolveu-se um controlador MIDI em forma de guitarra com sensores de toque no lugar
das cordas com comunicao wireless-USB para o computador.
REFERNCIAS BIBLIOGRFICAS
[1]
Srie Harmnica. Disponvel em: <http://pt.wikipedia.org/wiki/Srie_harmnica_(msica)>.
Acesso em: 7 dezembro 2009.
[2]
Guitarra Eltrica. Disponvel em: <http://pt.wikipedia.org/wiki/Guitarra_eltrica>.
Acesso em: 7 dezembro 2009.
[3]
Guitarra. Disponvel em: <http://pt.wikipedia.org/wiki/Guitarra>.
Acesso em: 7 dezembro 2009.
[4]
Partitura. Disponvel em: <http://pt.wikipedia.org/wiki/Partitura>.
Acesso em: 31 dezembro 2009.
[5]
Tablatura. Disponvel em: <http://pt.wikipedia.org/wiki/Tablatura>.
Acesso em: 31 dezembro 2009.
[6]
Editor de Partitura. Disponvel em: <http://pt.wikipedia.org/wiki/Editor_de_partitura>.
Acesso em: 7 dezembro 2009.
[7]
[8]
RATTON, Miguel. MIDI: o princpio de tudo. Disponvel em:
< http://www.erpires.com.br/Artigos_e_Tutoriais.html >. Acesso em: 9 setembro 2009.
[9]
COSTA, Marcelo. Solfeggiare Um compilador para Partituras Musicais.
Disponvel em: < http://dsc.upe.br/~tcc/20061/MarceloCosta.pdf>. Acesso em: 10 setembro 2009.
[10] MIRANDA, Jos Carlos. Nova Eletrnica. Disponvel em:
< http://www.novaeletronica.net/q/n1/5_projetos/pag.11.html>. Acesso em: 2 setembro 2009.
[11] Teclado de Membrana.
Disponvel em: <http://pt.wikipedia.org/wiki/Teclado_de_membrana>.
Acesso em: 2 setembro 2009.
[12] MTD Teclados de Membrana. O que teclado de membrana. Disponvel em:
< http://www.mtd.ind.br/art_7.htm>. Acesso em: 2 setembro 2009.
[13]
63
64
ELSE
if(MCU_RB5==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1) {NOTA=68; }//CASA 4 CORDA 1 NOTA 68
ELSE
if(MCU_RB4==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1) {NOTA=67; }//CASA 3 CORDA 1 NOTA 67
ELSE
IF(MCU_RB3==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RC1==1&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&M
CU_RB4==1) {NOTA=66; MCU_RB3=1;}//CASA 2 CORDA 1 NOTA 66
ELSE
if(MCU_RB2==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&MCU_RB4==1&&M
CU_RB3==1) {NOTA=65; MCU_RB2=1;}//CASA 1 CORDA 1 NOTA 65
}
ELSE if((MCU_RC7==1)&&(MCU_RA5==1)){NOTA=64;} //CORDA 1 TOCADA NOTA 64
ENVIA(NOTA);
NOTA=0XFF; // NOTA RECEBE O VALOR INICIAL 0XFF
}
VOID CORDA2(VOID){//CORDA 2
INT NOTA; //DECLARA VARIVEL NOTA
//CORDA 2
IF((MCU_RB1==1)&&(MCU_RA4==0)){
if(MCU_RD7==0&&MCU_RB1==1&&MCU_RA4==0) {NOTA=79; }//CASA 20 CORDA 2 NOTA 79
ELSE if(MCU_RD6==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1) {NOTA=78; }//CASA 19 CORDA 2 NOTA 78
ELSE if(MCU_RD5==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1) {NOTA=77; }//CASA 18 CORDA 2 NOTA 77
ELSE if(MCU_RD4==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1) {NOTA=76; }//CASA 17 CORDA 2
NOTA 76
ELSE if(MCU_RD3==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1)
{NOTA=75;
}//CASA 16 CORDA 2 NOTA 75
ELSE
if(MCU_RD2==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1)
{NOTA=74; }//CASA 15 CORDA 2 NOTA 74
ELSE
if(MCU_RD1==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1) {NOTA=73; }//CASA 14 CORDA 2 NOTA 73
ELSE
if(MCU_RD0==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1) {NOTA=72; }//CASA 13 CORDA 2 NOTA 72
ELSE
if(MCU_RC5==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1) {NOTA=71; }//CASA 12 CORDA 2 NOTA 71
ELSE
if(MCU_RC4==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1) {NOTA=70; }//CASA 11 CORDA 2 NOTA 70
ELSE
if(MCU_RC3==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1) {NOTA=69; }//CASA 10 CORDA 2 NOTA 69
ELSE
if(MCU_RC2==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1) {NOTA=68; }//CASA 9 CORDA 2 NOTA 68
ELSE
if(MCU_RC1==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1) {NOTA=67; }//CASA 8
CORDA 2 NOTA 67
ELSE
if(MCU_RC0==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1)
{NOTA=66; }//CASA 7 CORDA 2 NOTA 66
ELSE
if(MCU_RB7==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1) {NOTA=65; }//CASA 6 CORDA 2 NOTA 65
ELSE
if(MCU_RB6==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1) {NOTA=64; }//CASA 5 CORDA 2 NOTA 64
ELSE
if(MCU_RB5==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1) {NOTA=63; }//CASA 4 CORDA 2 NOTA 63
ELSE
if(MCU_RB4==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1) {NOTA=62; }//CASA 3 CORDA 2 NOTA 62
ELSE
if(MCU_RB3==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RC1==1&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&M
CU_RB4==1) {NOTA=61; MCU_RB3=1;}//CASA 2 CORDA 2 NOTA 61
65
ELSE
if(MCU_RB2==0&&MCU_RB1==1&&MCU_RA4==0&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&MCU_RB4==1&&M
CU_RB3==1) {NOTA=60; MCU_RB2=1;}//CASA 1 CORDA 2 NOTA 60
}
ELSE if((MCU_RB1==1)&&(MCU_RA4==1)){NOTA=59;} //CORDA 2 TOCADA NOTA 59
ENVIA(NOTA);
NOTA=0XFF; // NOTA RECEBE O VALOR INICIAL 0XFF
}
VOID CORDA3(VOID){//CORDA 3
INT NOTA; //DECLARA VARIVEL NOTA
//CORDA 3
IF((MCU_RB0==1)&&(MCU_RA3==0)){
if(MCU_RD7==0&&MCU_RB0==1&&MCU_RA3==0) {NOTA=75; }//CASA 20 CORDA 3 NOTA 75
ELSE if(MCU_RD6==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1) {NOTA=74; }//CASA 19 CORDA 3 NOTA 74
ELSE if(MCU_RD5==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1) {NOTA=73; }//CASA 18 CORDA 3 NOTA 73
ELSE if(MCU_RD4==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1) {NOTA=72; }//CASA 17 CORDA 3
NOTA 72
ELSE if(MCU_RD3==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1)
{NOTA=71;
}//CASA 16 CORDA 3 NOTA 71
ELSE
if(MCU_RD2==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1)
{NOTA=70; }//CASA 15 CORDA 3 NOTA 70
ELSE
if(MCU_RD1==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1) {NOTA=69; }//CASA 14 CORDA 3 NOTA 69
ELSE
if(MCU_RD0==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1) {NOTA=68; }//CASA 13 CORDA 3 NOTA 68
ELSE
if(MCU_RC5==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1) {NOTA=67; }//CASA 12 CORDA 3 NOTA 67
ELSE
if(MCU_RC4==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1) {NOTA=66; }//CASA 11 CORDA 3 NOTA 66
ELSE
if(MCU_RC3==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1) {NOTA=65; }//CASA 10 CORDA 3 NOTA 65
ELSE
if(MCU_RC2==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1) {NOTA=64; }//CASA 9 CORDA 3 NOTA 64
ELSE
if(MCU_RC1==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1) {NOTA=63; }//CASA 8
CORDA 3 NOTA 63
ELSE
if(MCU_RC0==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1)
{NOTA=62; }//CASA 7 CORDA 3 NOTA 62
ELSE
if(MCU_RB7==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1) {NOTA=61; }//CASA 6 CORDA 3 NOTA 61
ELSE
if(MCU_RB6==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1) {NOTA=60; }//CASA 5 CORDA 3 NOTA 60
ELSE
if(MCU_RB5==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1) {NOTA=59; }//CASA 4 CORDA 3 NOTA 59
ELSE
if(MCU_RB4==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1) {NOTA=58; }//CASA 3 CORDA 3 NOTA 58
ELSE
if(MCU_RB3==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RC1==1&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&M
CU_RB4==1) {NOTA=57; MCU_RB3=1;}//CASA 2 CORDA 3 NOTA 57
ELSE
if(MCU_RB2==0&&MCU_RB0==1&&MCU_RA3==0&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&MCU_RB4==1&&M
CU_RB3==1) {NOTA=56; MCU_RB2=1;}//CASA 1 CORDA 3 NOTA 56
}
ELSE if((MCU_RB0==1)&&(MCU_RA3==1)){NOTA=55;} //CORDA 3 TOCADA NOTA 55
ENVIA(NOTA);
NOTA=0XFF; // NOTA RECEBE O VALOR INICIAL 0XFF
}
VOID CORDA4(VOID){//CORDA 4
INT NOTA; //DECLARA VARIVEL NOTA
//CORDA 4
IF((MCU_RE2==1)&&(MCU_RA2==0)){
66
67
ELSE
if(MCU_RD1==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1) {NOTA=59; }//CASA 14 CORDA 5 NOTA 59
ELSE
if(MCU_RD0==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1) {NOTA=58; }//CASA 13 CORDA 5 NOTA 58
ELSE
if(MCU_RC5==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1) {NOTA=57; }//CASA 12 CORDA 5 NOTA 57
ELSE
if(MCU_RC4==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1) {NOTA=56; }//CASA 11 CORDA 5 NOTA 56
ELSE
if(MCU_RC3==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1) {NOTA=55; }//CASA 10 CORDA 5 NOTA 55
ELSE
if(MCU_RC2==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1) {NOTA=54; }//CASA 9 CORDA 5 NOTA 54
ELSE
if(MCU_RC1==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1) {NOTA=53; }//CASA 8
CORDA 5 NOTA 53
ELSE
if(MCU_RC0==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1)
{NOTA=52; }//CASA 7 CORDA 5 NOTA 52
ELSE
if(MCU_RB7==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1) {NOTA=51; }//CASA 6 CORDA 5 NOTA 51
ELSE
if(MCU_RB6==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1) {NOTA=50; }//CASA 5 CORDA 5 NOTA 50
ELSE
if(MCU_RB5==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1) {NOTA=49; }//CASA 4 CORDA 5 NOTA 49
ELSE
if(MCU_RB4==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1) {NOTA=48; }//CASA 3 CORDA 5 NOTA 48
ELSE
if(MCU_RB3==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RC1==1&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&M
CU_RB4==1) {NOTA=47; MCU_RB3=1;}//CASA 2 CORDA 5 NOTA 47 //
ELSE
if(MCU_RB2==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&MCU_RB4==1&&M
CU_RB3==1) {NOTA=46; MCU_RB2=1;}//CASA 1 CORDA 5 NOTA 46 //
}
ELSE if((MCU_RE1==1)&&(MCU_RA1==1)){NOTA=45;} //CORDA 5 TOCADA NOTA 45
ENVIA(NOTA);
NOTA=0XFF; // NOTA RECEBE O VALOR INICIAL 0XFF
}
VOID CORDA6(VOID){//CORDA 6
INT NOTA; //DECLARA VARIVEL NOTA
//CORDA 6
IF((MCU_RE0==1)&&(MCU_RA0==0)){
if(MCU_RD7==0&&MCU_RE0==1&&MCU_RA0==0) {NOTA=60; }//CASA 20 CORDA 6 NOTA 60
ELSE if(MCU_RD6==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1) {NOTA=59; }//CASA 19 CORDA 6 NOTA 59
ELSE if(MCU_RD5==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1) {NOTA=58; }//CASA 18 CORDA 6 NOTA 58
ELSE if(MCU_RD4==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1) {NOTA=57; }//CASA 17 CORDA 6
NOTA 57
ELSE if(MCU_RD3==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1)
{NOTA=56;
}//CASA 16 CORDA 6 NOTA 56
ELSE
if(MCU_RD2==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1)
{NOTA=55; }//CASA 15 CORDA 6 NOTA 55
ELSE
if(MCU_RD1==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1) {NOTA=54; }//CASA 14 CORDA 6 NOTA 54
ELSE
if(MCU_RD0==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1) {NOTA=53; }//CASA 13 CORDA 6 NOTA 52
ELSE
if(MCU_RC5==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1) {NOTA=52; }//CASA 12 CORDA 6 NOTA 52
ELSE
if(MCU_RC4==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1) {NOTA=51; }//CASA 11 CORDA 6 NOTA 51
68
ELSE
if(MCU_RC3==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1) {NOTA=50; }//CASA 10 CORDA 6 NOTA 50
ELSE
if(MCU_RC2==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1) {NOTA=49; }//CASA 9 CORDA 6 NOTA 49
ELSE
if(MCU_RC1==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1) {NOTA=48; }//CASA 8
CORDA 6 NOTA 48
ELSE
if(MCU_RC0==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1)
{NOTA=47; }//CASA 7 CORDA 6 NOTA 47
ELSE
if(MCU_RB7==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1) {NOTA=46; }//CASA 6 CORDA 6 NOTA 46
ELSE
if(MCU_RB6==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1) {NOTA=45; }//CASA 5 CORDA 6 NOTA 45
ELSE
if(MCU_RB5==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1) {NOTA=44; }//CASA 4 CORDA 6 NOTA 44
ELSE
if(MCU_RB4==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&M
CU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1&&MCU_
RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1) {NOTA=43; }//CASA 3 CORDA 6 NOTA 43
ELSE
if(MCU_RB3==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RC1==1&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&M
CU_RB4==1) {NOTA=42; MCU_RB3=1;}//CASA 2 CORDA 6 NOTA 42 //
ELSE
if(MCU_RB2==0&&MCU_RE0==1&&MCU_RA0==0&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&MCU_RB4==1&&M
CU_RB3==1) {NOTA=41; MCU_RB2=1;}//CASA 1 CORDA 6 NOTA 41
}
ELSE if((MCU_RE0==1)&&(MCU_RA0==1)){NOTA=40;} //CORDA 6 TOCADA NOTA 40
ENVIA(NOTA);
NOTA=0XFF; // NOTA RECEBE O VALOR INICIAL 0XFF
}
void main()
{
INT1 C1=0,C2=0,C3=0,C4=0,C5=0,C6=0;
//CONFIGURAO UART
MCU_SYNC=0; //MODO ASSNCRONO
MCU_BRGH=1; //AJUSTE PARA ALTA INTENSIDADE
MCU_SPBRG=79; //BR=31250 BPS
MCU_SPEN=1; //HABILITA PINOS TX E RX PARA USART
MCU_TX9=0;
//TRANSMISSO EM 8 BITS
MCU_RX9=0;
//MCU_RECEPO EM 8 BITS
MCU_TXEN=1; //ATIVA A TRANSMISSO DE DADOS
MCU_CREN=1; //ATIVA A RECEPO DE DADOS NO MODO CONTNUO
//CONFIGURAO DAS PORTS
MCU_TRISA=0XFF;// 1 - ENTRADA
MCU_TRISB=0XFF;// 1 - ENTRADA
MCU_TRISC=0b10111111;// 0 - SADA
MCU_TRISD=0XFF;// 1 - ENTRADA
MCU_TRISE=0XFF;// 1 - ENTRADA
//VALOR INICIAL DAS PORTS
MCU_PORTA=0XFF;
MCU_PORTB=0b11111100;
MCU_PORTC=0b01111111;
MCU_PORTD=0XFF;
MCU_PORTE=0X00;
while(true){ //MODO CONTNUO DE ENVIO DAS NOTAS
//PRIORIDADE CASA 20 -> CASA 1
IF(C1!=MCU_RC7){C1=MCU_RC7;CORDA1();}
IF(C2!=MCU_RB1){C2=MCU_RB1;CORDA2();}
IF(C3!=MCU_RB0){C3=MCU_RB0;CORDA3();}
IF(C4!=MCU_RE2){C4=MCU_RE2;CORDA4();}
IF(C5!=MCU_RE1){C5=MCU_RE1;CORDA5();}
IF(C6!=MCU_RE0){C6=MCU_RE0;CORDA6();}
}
}
69
70