Upload
julio-chagas-pitthan
View
228
Download
5
Embed Size (px)
DESCRIPTION
Relatório Final - PFG - Julio - 2010 (CONTROLADOR MIDI EM FORMA DE GUITARRA)
Citation preview
UNIVERSIDADE DE PASSO FUNDO
FACULDADE DE ENGENHARIA E ARQUITETURA
CURSO DE ENGENHARIA ELÉTRICA
CONTROLADOR MIDI EM FORMA DE GUITARRA
Disciplina: Projeto de Graduação
Professor: Dr. Paulo Sérgio Corrêa Molina
Acadêmico: Julio Chagas Pitthan
Passo Fundo, janeiro de 2010.
2
Julio Chagas Pitthan
Controlador MIDI em forma de guitarra
Projeto de graduação apresentado ao curso de
Engenharia Elétrica com Ênfase em Eletrônica
da Faculdade de Engenharia e Arquitetura, da
Universidade de Passo Fundo, como requisito
parcial para obtenção do título de Engenheiro
Eletricista com Ênfase em Eletrônica, sob
orientação do Professor Dr. Paulo Sérgio
Corrêa Molina.
Passo Fundo
2010
3
Julio Chagas Pitthan
Controlador MIDI em forma de guitarra
Banca Examinadora:
Prof. Doutor Paulo Sérgio Corrêa Molina – UPF – Orientador
Prof. Mestre Adriano Luís Toazza – UPF – Examinador
Professora Dra. Blanca Maquera Sosa – UPF – Examinadora
Passo Fundo
2010
4
Dedico a realização deste projeto a meus pais, Julio (in memoriam) e Isabel, que sempre me apoiaram e encorajaram, com carinho e atenção. Dedico também ao professor Paulo Sérgio Corrêa Molina, não só pelos ensinamentos durante o curso, mas também por acreditar neste projeto. E principalmente a quem não acredita na minha capacidade e tenta me fazer desistir, esses sim me incentivam mais do que qualquer um.
"As pessoas existem e temos que aprender a lidar com elas diante de cada situação." -- Julio Chagas Pitthan
5
Agradecimentos
Agradeço a Deus pela vida, aos familiares pelo apoio inclusive financeiro, e ajuda
nas dificuldades. Aos amigos, que mesmo longe me apóiam e incentivam. Aos professores
que me transmitiram conhecimentos para minha formação acadêmica e os professores dos
ensinos técnico, médio, fundamental, pré-escola e jardim de infância. 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 cobrança, amizade e ensinamentos. Aos meus
colegas da Eng. Biomédica do HC pelo apoio, os amigos Anselmo Pires, Cleciane Rosato,
David Povala, Flávio 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, João Mossinni,
Marcelo Fantinatti, Marcelo da Silva, Mauren Zardo, Paulo Venturini, Pedro Bruxel, Ricardo
Frosi, Rodrigo Busato, Rômulo Mânica, Thales Marafon, Tiago Rosado e Vinícius Ebone
com quem compartilhei esta caminhada, entre tantos outros com quem convivi neste período.
Agradeço em especial aos integrantes e amigos da minha banda Thunder Force pelo
apoio e incentivo principalmente na questão de aprender a não desistir dos objetivos traçados
diante das dificuldades e também no gosto pela música, especialmente o Metal, estilo
trabalhado e estruturado que nos estimula e agrega valores como músico e como pessoa.
Agradeço também aos amigos estudantes de Arquitetura e Urbanismo Matheus
Denardin e Fernando Alves por me ajudarem a construir o corpo do controlador e em especial
as pessoas que mais me incentivaram no direcionamento desse projeto, Itamir Sartori, por me
convencer a modificar os rumos do trabalho inicial para que meu “violão eletrônico” se
tornasse um controlador MIDI em forma de guitarra, Eduardo Kurtz, meu aluno de violão que
reclamava dos instrumentos como guitarra e violão serem “muito grandes” e Amanda Vilar
Lago, por me inspirar a acrescentar a preocupação de propiciar o uso de instrumentos
musicais e controladores MIDI por pessoas pequenas, pela tinta azul anil com que pintei o
controlador e por corrigir o resumo em inglês deste trabalho, além do companheirismo
inclusive musical e dos momentos bons e difíceis que compartilhamos.
6
RESUMO
Instrumentos musicais e seus acessórios eletrônicos estão hoje ganhando espaço na
rotina diária da maior parte das bandas, profissionais da área da música e mesmo pessoas em
geral. Uma guitarra convencional deve ter suas cordas trocadas com freqüência, precisa ser
afinada, necessita de pedais de efeitos, pedaleiras e/ou simuladores e amplificadores. Para
facilitar a vida dos estudantes de guitarra, neste projeto de graduação desenvolveu-se o
protótipo de um controlador MIDI em forma de guitarra com sensores de toque no lugar das
cordas e com comunicação wireless-USB para o computador. O protótipo serve também para
músicos iniciantes aprenderem guitarra de forma divertida com o auxílio de um software
editor de partituras já existente como, por exemplo, o Guitar Pro. Isto enriquece a prática do
desenvolvimento musical, principalmente das crianças que se interessam pelo controlador e
conseqüentemente pela arte da música, o que auxilia no crescimento da parte artística dessas
pessoas.
Palavras-chave: música, guitarra, MIDI, controlador MIDI.
7
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.
Key words: music, guitar, MIDI, MIDI controller.
8
LISTA DE ILUSTRAÇÕES
Figura 1.1 – Guitarra Elétrica. [3] ............................................................................................16
Figura 1.2 – Exemplo de Partitura. [4] .....................................................................................21
Figura 1.3 – Exemplo de Tablatura. [5] ...................................................................................22
Figura 1.4 – Esquema de uma típica mensagem MIDI. [9]......................................................25
Figura 1.5 – Conectores de passagem (THRU), de saída (OUT) e entrada (IN) MIDI. [7].....26
Figura 1.6 – Teclado / Teclado. [8] ..........................................................................................27
Figura 1.7 – Teclado / MIDI Thru. [8] .....................................................................................27
Figura 1.8 – Teclado / Computador. [8] ...................................................................................28
Figura 1.9 – Transmissão / Recepção. [8] ................................................................................28
Figura 1.10 – Transmissão / Recepção em 16 canais. [8] ........................................................29
Figura 1.11 – Placa de Toque. [10] ..........................................................................................31
Figura 1.12 – Teclado de Membrana. [12] ...............................................................................32
Figura 2.1 – Diagrama de Blocos do Sistema. .........................................................................43
Figura 2.2 – Última Casa da Primeira Placa de Toque Matricial. ............................................45
Figura 2.3 – Teclado de Membrana..........................................................................................46
Figura 2.4 – Última Casa da Segunda Placa de Toque Matricial. ............................................47
Figura 2.5 – Pares de LED Infravermelho/Fototransistor. .......................................................49
Figura 2.6 – Circuito com o Microcontrolador.........................................................................50
Figura 2.7 – Diagrama da Rotina Principal do Firmware.........................................................52
Figura 2.8 – Módulo XBee Pro e Microcontrolador. [15]........................................................54
Figura 2.9 – Circuito Elétrico da Fonte de 5V. ........................................................................55
Figura 2.10 – Placa CON-USBBEE (com cabo extensor). [15]...............................................55
Figura 2.11 – FTDI Clean Utility V1.0. [16] ...........................................................................56
Figura 2.12 - X-CTU Aba Terminal. [16] ................................................................................56
Figura 2.13 - X-CTU. [16]........................................................................................................57
Figura 2.14 – Bome’s Mouse Keyboard...................................................................................57
Figura 2.15 – Guitar Pro 5 v5.2. ...............................................................................................58
Figura 2.16 – Corpo do Controlador no AutoCAD..................................................................58
Figura 3.1 – Controlador MIDI em Forma de Guitarra............................................................59
Figura 3.2 – Distância Mínima.................................................................................................60
Figura 3.3 – Distância Máxima. ...............................................................................................60
Figura 3.4 – Conexões Destro ou Canhoto...............................................................................61
Figura 3.5 – Introdução da música Pour Elise de Beethoven...................................................61
9
LISTA DE TABELAS
Tabela 1.1 – Descrição dos pinos dos módulos XBee/XBee-Pro™. [15]................................ 38
Tabela 1.2 – Comandos dos módulos XBee/XBee-Pro™ 1. [15]] .......................................... 39
Tabela 1.3 – Comandos dos módulos XBee/XBee-Pro™ 2. [15]............................................ 40
Tabela 1.4 – Comandos dos módulos XBee/XBee-Pro™ 3. [15]............................................ 40
10
LISTA DE ABREVIATURAS E SIGLAS
API: Application Programming Interface (Interface para Programação de Aplicação)
I/O: Input/Output (Entrada/Saída)
ISM: Industrial, Scientific and Medical (Médica, Científica e Industrial)
LDR: Light Dependent Resistor (Resistor Dependente de Luz)
MDF: Medium Density Fiberboard (Placa de Fibra de Madeira de Média Densidade)
MIDI: Musical Instrument Digital Interface (Interface Digital para Instrumentos
Musicais)
RF: Radio Fequency (Freqüência de Rádio)
SMF: Standard MIDI Files (Arquivos MIDI Padrão)
UART: Universal Asyncrhronous Receiver Transmiter (Transmissão e Recepção
Assíncrona Universal)
USB: Universal Serial Bus (“Comunicação Serial Universal”)
11
SUMÁRIO
INTRODUÇÃO.............................................................................................................................13
1. Estudo Teórico.......................................................................................................................14
1.1 Teoria Físico-Musical...............................................................................................14
1.2 Guitarra Elétrica .......................................................................................................16
1.2.1 Braço.....................................................................................................................17
1.2.2 Mão 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 Editores de Partitura .................................................................................................22
1.6 MIDI .........................................................................................................................24
1.6.1 Protocolo MIDI ....................................................................................................24
1.6.2 Mensagens MIDI ..................................................................................................24
1.6.2.1 Transmissão das Mensagens MIDI.......................................................................25
1.6.2.2 Controladores .......................................................................................................26
1.6.3 A Conexão MIDI ..................................................................................................26
1.6.3.1 Tipos de Conexão .................................................................................................27
1.6.4 Os canais MIDI.....................................................................................................28
1.6.4.1 Sintetizadores Multitimbrais.................................................................................29
1.6.5 Standard MIDI Files .............................................................................................30
1.6.6 Limitações do MIDI .............................................................................................30
1.7 Placa de Toque..........................................................................................................31
1.8 Teclado de Membrana ..............................................................................................32
1.9 LDR ..........................................................................................................................33
1.10 Fotodiodos ................................................................................................................33
12
1.11 Fototransistores.........................................................................................................34
1.12 Módulos ZigBee/XBee.............................................................................................35
2. Desenvolvimento do Sistema ................................................................................................43
2.1 Sensores de Toque..........................................................................................................44
2.1.1 Primeira Placa de Toque Matricial ..............................................................................44
2.1.2 Teclado de Membrana .................................................................................................45
2.1.3 Segunda Placa de Toque Matricial ..............................................................................47
2.1.4 Teste com LDR............................................................................................................48
2.1.5 Pares LED/Fototransistor ............................................................................................48
2.2 Microcontrolador e Firmware.........................................................................................49
2.3 Módulo Transmissor.......................................................................................................54
2.4 Fonte de Alimentação.....................................................................................................54
2.5 Módulo Receptor ............................................................................................................55
2.6 Computador ....................................................................................................................55
2.6.1 Softwares .....................................................................................................................57
2.7 Corpo do Controlador.....................................................................................................58
3. Resultados Obtidos................................................................................................................59
CONSIDERAÇÕES FINAIS ........................................................................................................62
REFERÊNCIAS BIBLIOGRÁFICAS ..........................................................................................63
ANEXO I – FIRMWARE DO CONTROLADOR .......................................................................64
ANEXO II – FOTOS DO CORPO E DO CONTROLADOR PRONTO .....................................70
13
INTRODUÇÃO
O protocolo de comunicação MIDI é principalmente utilizado no mundo da música,
em diversas aplicações como, por exemplo, em estúdios de gravação de áudio, em
apresentações de bandas e artistas de diversos estilos musicais, em aulas de vários tipos de
instrumentos e também por pessoas em geral. O ponto forte desse tipo de comunicação é a
padronização de hardware e software envolvidos na mesma, que permite que um equipamento
produzido por um fabricante possa se comunicar com vários outros de todas as marcas
diferentes que utilizam o mesmo padrão, sem necessidade de conversores e adaptadores, que
encareceriam essa troca de dados.
O controlador MIDI, que é o dispositivo que envia as informações de como e qual nota
deve ser executada, pode ficar relativamente longe do equipamento que irá executar o som
desejado. Neste projeto de graduação foi projetado e construído um protótipo de controlador
MIDI prevendo a extinção do gasto na troca de cordas, diminuição de volume e peso em
comparação com uma guitarra MIDI comum, que se difere da guitarra convencional pelo uso
de captadores MIDI. Este trabalho também incentiva o aprendizado da música com a
utilização de um editor de partituras já existente como, por exemplo, o Guitar Pro. O protótipo
é composto por sensores táteis que fazem o papel de “braço” da guitarra e outros que
detectam qual “corda” foi tocada, microcontrolador, para processar as informações referentes
às notas, que são executados por um microcomputador. O envio de dados do
microprocessador ao microcomputador se dá via módulos transceiver wireless - USB.
No primeiro capítulo temos um estudo teórico a respeito dos temas envolvidos neste
projeto, no segundo capítulo é abordado o desenvolvimento do sistema e do protótipo
confeccionado, e no terceiro capítulo encontramos os resultados obtidos com esse trabalho.
14
1. Estudo Teórico
1.1 Teoria Físico-Musical
1.1.1 Série Harmônica
Em física, série harmônica é o conjunto de ondas composto da freqüência
fundamental e seus múltiplos inteiros, resultado da vibração de um oscilador harmônico como
pêndulos, corpos rotativos (motores e geradores elétricos) e maior parte dos corpos produtores
de som dos instrumentos musicais. As principais aplicações práticas de seu estudo estão
na música e na análise de espectros eletromagnéticos, como ondas de rádio e sistemas
de corrente alternada. Em matemática, refere-se a uma série infinita. Também podem ser
utilizadas as transformadas de Fourier e as séries de Fourier para estudar este fenômeno. [1]
1.1.2 História
Muitas civilizações perceberam que um corpo em vibração produz sons em diferentes
freqüências. Os gregos há mais de seis mil anos estudavam este fenômeno através de um
instrumento experimental, o monocórdio. Os textos mais antigos sobre o assunto foram
escritos pelo filósofo e matemático grego, Pitágoras. Na mesma época, os chineses realizavam
pesquisas com harmônicos em flautas. [1]
15
Pitágoras percebeu que ao colocar uma corda em vibração ela não vibra apenas em sua
extensão total, mas forma uma série de nós, que a divide em seções menores, os ventres, que
vibram em freqüências mais altas que a fundamental. Se o monocórdio for longo o suficiente,
estes são visíveis. Estes nós se formam em pontos que dividem a corda em duas, três partes
iguais e assim sucessivamente. Em uma corda real se sobrepõem, gerando um desenho
complexo, semelhante à forma de onda do instrumento. Se colocarmos o dedo sobre um dos
nós, isso provoca a divisão da corda em seções menores e torna os ventres mais visíveis. Esta
experiência pode ser feita com um violão, ao pousar um dedo sobre o 12º traste e dedilhar a
corda. Isso divide a corda em duas seções iguais e permite ver dois ventres distintos em
vibração. [1]
Pela relação entre os comprimentos das seções e as freqüências produzidas por cada
uma das subdivisões, conclui-se que a corda soa simultaneamente, na freqüência fundamental
(F) e em todas as múltiplas inteiras (2F, 3F, 4F, etc.) onde cada uma é um harmônico.
A altura da nota produzida pela corda é determinada pela freqüência fundamental. As demais,
embora ouvidas, não são percebidas como alturas discretas, mas como parte
do timbre característico da corda. [1]
Devido à limitação da elasticidade da corda, os primeiros harmônicos soam com
maior intensidade que os posteriores e exercem um papel mais importante na determinação da
forma de onda e no timbre do instrumento. O mesmo resultado pode ser obtido ao colocar
uma coluna de ar em vibração, embora não seja possível ver os nós e ventres da onda. [1]
O conhecimento da série harmônica permitiu à maior parte das civilizações do mundo,
escolher, dentre todas as freqüências audíveis, um conjunto reduzido de notas que soasse
agradável ao ouvido. Pitágoras percebeu, por exemplo, que o segundo harmônico (a nota com
o dobro da freqüência da fundamental) soava como se fosse a mesma nota, apenas
mais aguda. Esta relação de freqüências (F/2F, ou 1/2 considerando os comprimentos das
cordas), a oitava, é percebida como neutra (nem consonante nem dissonante). [1]
16
1.2 Guitarra Elétrica
É um instrumento cordofone, onde o som é produzido manualmente pela vibração
das cordas e é transformado em sinal elétrico devido à ação de captadores magnéticos. Os
sinais elétricos são amplificados e emitidos por um alto-falante que os converte em ondas
sonoras, ou são modificados antes de serem convertidos em som pelo alto-falante. Pela
potência sonora e possibilidade de alteração eletrônica de diversas características de seu
timbre, as guitarras elétricas são utilizadas principalmente no heavy metal, rock, música
pop, blues e jazz, podendo ser encontradas ainda em outros gêneros musicais. [2]
A Figura 1.1 abaixo mostra uma guitarra elétrica com suas partes indicadas. [3]
1. Mão ou paleta
2. Pestana
3. Tarrachas ou Cravelhas
4. Trastes
5. Tirante ou Tensor (“Alma”)
6. Marcação
7. Braço
8. Tróculo (Junta do Braço)
9. Corpo
10. Captadores
11. Potenciômetros
12. Ponte
13. Escudo
14. Cordas
Figura 1.1 – Guitarra Elétrica. [3]
17
1.2.1 Braço
O braço da guitarra (Figura 1.1) é composto de uma barra maciça e rígida de um tipo
de madeira diferente da utilizada no corpo, onde é fixado. Madeiras de grande resistência à
tração são preferíveis e uma das mais utilizadas é o mogno. É responsável pela fixação de
uma das extremidades das cordas e para permitir a execução das notas através da variação do
comprimento das mesmas. Fazem parte do braço: a “mão”, a pestana, a escala, os trastes e
alguns elementos decorativos (de madrepérola, marfim ou ébano) utilizados na marcação. [3]
O braço pode ser fixado ao corpo por parafusos. Em alguns casos, um tirante é
utilizado para se opor à curvatura provocada pela tensão das cordas. A fixação do braço é
crítica para a afinação do instrumento, pois a variação no ângulo do braço em relação ao
corpo pode provocar variações na altura das notas. Indesejável na guitarra clássica, este efeito
pode ser usado para obter certas inflexões na altura (bends), sobretudo no blues. [3]
1.2.2 Mão e Tarrachas
A mão ou paleta é responsável pela fixação das tarrachas, usadas para afinar o
instrumento, fixada na extremidade do braço formando um pequeno ângulo para facilitar o
posicionamento das cordas sobre a pestana. Em geral é feita da mesma madeira do braço e
entalhada com diversos motivos decorativos. A tarracha é um mecanismo composto de um
eixo sobre o qual a corda é enrolada e uma engrenagem que permite girá-lo com os dedos até
obter a tensão correta de cada corda. As engrenagens garantem uma relação de forças tal que
impeça o afrouxamento das cordas durante a execução. Na maior parte das guitarras há três
tarrachas de cada lado da mão. Em algumas guitarras elétricas é utilizada a configuração de
seis cravelhas em linha em um dos lados da mão. [3]
18
1.2.3 Pestana
A pestana é uma pequena barra de osso, plástico ou madrepérola, fixada entre o início
do braço e a mão. Possui um pequeno sulco entalhado para passagem de cada corda que
permite o posicionamento correto das mesmas. Apóia as cordas na extremidade do braço. É o
ponto de origem do comprimento das cordas (traste zero). Hoje, em alguns modelos de
guitarras elétricas, há pestanas especiais que possuem travas, como parafusos, que impedem
que o instrumento seja desafinado na execução de alavancadas (vibratos artificiais). [3]
1.2.4 Escala
Feita de uma madeira diferente do resto do braço, como ébano, a escala é a parte do
instrumento onde as cordas são apoiadas quando o músico quer dividí-la. É sobre ela que os
trastes são montados. Possui marcas em forma de círculo, losangos ou triângulos, incrustadas
por marchetaria que são de madrepérola, marfim ou ébano. Às vezes são pintadas e servem
para ajudar o músico 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 idéia de uma onda fluindo, muito utilizado
em alguns ritmos agitados, porém é principalmente usado no heavy metal e no rock. [3]
19
1.2.6 Trastes
Os trastes são pequenas barras (alpaca ou ligas de níquel) montadas na escala que
definem os pontos em que a corda deve ser dividida para obter cada nota. Quando o músico
encosta o dedo sobre a corda ela pousa sobre a escala e fica apoiada sobre o traste. O
comprimento vibrante da corda passa a ser aquele entre o traste e a ponte. [3]
Os trastes são montados para permitir que as guitarras tenham temperamento igual. A
razão entre as distâncias de dois trastes consecutivos é = 1,059463, aplicada
sucessivamente a cada intervalo. As casas próximas à pestana são mais largas que as próximas
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
equação: onde d é o comprimento total da corda entre a ponte e a pestana. [3]
1.2.7 Encordoamento
O som da guitarra é produzido pela vibração das cordas de aço, tensionadas e
montadas de forma que vibrem livremente sem bater no instrumento. As mais finas usadas
para as notas mais agudas, são constituídas de um fio único. As grossas são cabos de nylon,
de aço ou de seda envoltos por uma espiral de um fio fino feito de aço que permite maior
resistência à tração, estabilidade de afinação e flexibilidade do que seria possível. [3]
As cordas são fixadas aos furos da ponte através de um nó ou uma pequena esfera
fixada a uma de suas extremidades, que por ser mais larga que o furo não consegue passar por
ele, prendendo a corda. Em algumas guitarras as cordas passam por furos através do corpo do
instrumento e são fixadas na sua parte posterior. A altura da ponte é importante para definir a
20
distância entre as cordas e a escala, pois a afinação do instrumento pode sofrer variações se a
distância das cordas for muito grande. Cordas muito próximas da escala podem encostar-se
aos trastes ao vibrar, o que produz um ruído desagradável (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 são mais altas que o braço e o corpo do instrumento, as
cordas ficam estendidas e tensionadas entre essas duas peças e podem vibrar livremente
quando dedilhadas ou tangidas por uma palheta. [3]
As guitarras são construídas para serem tocadas com o braço na mão esquerda e o
corpo na direita onde os sulcos da pestana são dispostos de forma que a corda mais grossa
fique em cima e as mais finas embaixo. A distância entre as cordas e o corpo é maior para as
cordas graves do que para as mais finas para evitar o trastejamento. Quando a corda é pousada
sobre a escala ela é esticada. O aumento na tensão aumenta ligeiramente a afinação da nota.
Mesmo tênue esse efeito pode causar desafinações em alguns acordes. [3]
Essas assimetrias obrigam a construção de versões diferentes para destros e canhotos.
Muitos músicos adaptam o instrumento para execução invertida, outros viram os instrumentos
e tocam com técnica espelhada, onde os bordões, geralmente tocados pelo polegar precisam
ser tocados pelo indicador. Outros, como Jimi Hendrix fazem o encordoamento invertido em
uma guitarra normal, o que pode levar a pequenas falhas de afinação. Estilos como o blues,
o rock, o folk e o heavy metal, que utilizam muitos bends e vibratos não sofrem tanto com
esses problemas de afinação, mas a execução erudita com as mãos trocadas, sim. [3]
1.3 Partitura
Uma partitura é uma representação escrita de música padronizada mundialmente que
dispõe de símbolos próprios (notas musicais) que se associam a sons. Na música assistida
por computador, a partitura, ao contrário das tablaturas, desempenha um papel crucial. [4]
21
Através de tecnologias como MIDI é possível traduzir uma partitura integralmente
para um formato legível pelo computador ou instrumentos eletrônicos para posterior
reprodução. Uma partitura não exprime apenas um instrumento. Pode incluir vários, cada um
designado por voz e mesmo a letra da música. As partituras necessariamente incluem um ou
mais pentagramas, que como o nome diz, possuem cinco linhas como mostra a Figura 1.2. [4]
Figura 1.2 – Exemplo de Partitura. [4]
Cada linha pode representar diferentes notas musicais, dependendo da clave. As claves
mais usuais são: 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 notação musical padrão representa o ritmo e a duração de cada nota e a sua
altura relativa à escala baseada em uma divisão 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 símbolos rítmicos da tablatura dizem quando
iniciar uma nota, mas quase nunca há uma indicação precisa de quanto tempo ela deve durar,
a duração fica a critério do intérprete. Por isso é comum dizer que a tablatura é uma notação
prescritiva e a notação convencional (em pauta), descritiva. [5]
22
A tablatura para cordas pinçadas é baseada sobre uma representação 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]
Neste esquema da Figura 1.3 no exemplo da introdução da música "Stairway to
Heaven", da banda Led Zeppelin, as linhas representam as cordas da guitarra (da mais aguda
para a mais grave) e os números a casa em que a corda deve ser pressionada e ferida. [5]
Figura 1.3 – Exemplo de Tablatura. [5]
1.5 Editores de Partitura
Todos os editores de partitura permitem ao usuário inserir, editar e imprimir notação
musical, em variados graus de sofisticação. Variam de programas que escrevem uma simples
canção, peças para piano ou tablatura, até aqueles que podem lidar com a complexidade de
obras orquestrais, notação especial e editoração musical de alta qualidade. [6]
A música pode ser inserida usando-se o mouse, teclado de computador e/ou
controlador MIDI. Muitos programas também permitem inserção por meio de sistemas
de reconhecimento óptico de caracteres, ou ainda tocando ou cantando ao microfone. [6]
23
Muitos editores de partitura também permitem que a música seja reproduzida via
MIDI ou, em alguns casos, por programas sintetizadores. Isso significa que os editores de
partitura têm algo em comum com os seqüenciadores - muitos dos quais podem também, até
certo ponto, escrever notação musical - embora editores de partitura sejam usados
primordialmente para isso, enquanto os seqüenciadores o são para gravar e tocar música. [6]
Alguns editores permitem que o trabalho seja personalizado e ajustado de acordo com
as exigências dos editores para produzir editoração musical de alta qualidade e adequá-lo ao
estilo específico de cada estabelecimento. Outros permitem aos usuários publicarem seus
trabalhos na Internet, onde podem ser reproduzidos, transpostos e impressos, em certos casos,
cobrando-se uma taxa. [6]
Muitos editores oferecem outras funções como transposição, produção de partes
cavadas de uma partitura ou aplicação de transformações como retrocesso. Alguns podem
criar automaticamente exercícios instrumentais e folhas de estudo. Alguns dão suporte a
plugins, frequentemente desenvolvidos por usuários ou outras empresas. [6]
Quase todos os editores de partituras usam seus próprios formatos de arquivo. A fim
de compartilhar arquivos entre diferentes editores (ou com outros tipos de programas,
como seqüenciadores), muitos editores podem também importar e exportar um ou mais
padrões de formato de arquivo de intercâmbio, como: [6]
SMF: suportado por quase todos os editores de partitura. [6]
MusicXML: tem se tornado o formato padrão de intercâmbio para notação. [6]
NIFF: formato de arquivo obsoleto que foi suportado por alguns editores. [6]
Há formatos textuais de edição de partitura, como ABC e Tablatura ASCII. [6]
24
1.6 MIDI
1.6.1 Protocolo MIDI
MIDI é um protocolo; mas o termo é usado também para os diversos componentes do
sistema, como adaptadores, conectores, arquivos, cabos, etc. Diferente de outros formatos
(como WAV e MP3), o arquivo MIDI não contém áudio, e sim instruções para produzí-lo. É
uma partitura digitalizada, que define os instrumentos, notas, timbres, ritmos, efeitos e outras
características utilizadas para um sintetizador gerar eventos musicais. Até a década de 70, a
comunicação entre instrumentos musicais era impraticável. Em 1983 o grupo dos fabricantes
de sintetizadores norte-americanos e japoneses mais conhecidos da época desenvolveu o
MIDI que permite o envio de mensagens de controle entre instrumentos eletrônicos digitais ou
analógicos. Esse protocolo foi introduzido no mesmo ano, equipando o sintetizador Prophet-
600, fabricado pela Sequential Circuits (empresa que apresentou a proposta original, que foi
revisada e aprovada por todos). A partir daí, a indústria eletrônica musical passou a ter um
padrão de comunicação, que viabilizou o surgimento de inúmeros instrumentos e
equipamentos compatíveis entre si. A importância de um padrão como o MIDI é enorme.
Antes disso, vários fabricantes tentaram comercializar sistemas semelhantes, que só eram
compatíveis com eles mesmos. Como o MIDI não tem "dono", qualquer empresa pode usá-lo
em seus produtos, não tendo que pagar e a gratuidade do uso do MIDI foi um fator essencial
para a sua disseminação. [7] [8]
1.6.2 Mensagens MIDI
Cada mensagem MIDI é, geralmente, composta por três palavras e é enviada/recebida
serialmente entre duas UART. Cada palavra é composta de 10 bits, sendo uma comunicação
assíncrona entre dispositivos, necessita ter dois bits de sinalização de início e final de palavra,
e como característica da transmissão deve-se observar a manutenção do sinal em 1 entre
palavras e mensagens. Uma analogia usada é à comunicação de dois computadores via
modem. Em cada mensagem enviada é transmitido primeiro o bit menos significativo. [7]
25
1.6.2.1 Transmissão das Mensagens MIDI
Para transmissão, cada mensagem MIDI é recebida em paralelo por uma UART que
converte em um formato serial. Essa comunicação serial é utilizada entre os dispositivos a
uma taxa de transmissão de 31.250 bits por segundo (31,25 kbps). O primeiro e o último bit
são start e stop e são usados para sinalizar os dispositivos antes e após 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 interpretação das
mensagens MIDI que são 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 máquina. [7] [9]
Figura 1.4 – Esquema de uma típica mensagem MIDI. [9] As interfaces de MIDI são utilizadas quando o computador utilizado não possui portas
MIDI acopladas. Existem três tipos de interfaces MIDI: serial, paralela e multiline. Na serial
os bits são enviados um a um para a interface MIDI que fica responsável por repassar a
mensagem aos outros dispositivos. A paralela envia todos os 10 bits de uma mensagem para a
interface MIDI. Por possuir esta característica, as mensagens MIDI trafegam com alta
velocidade, deixando o processador livre para executar outras tarefas e os demais dispositivos
MIDI continuam recebendo as mensagens de forma serial. Já a interface multiline, também
chamada multiport, conecta o computador a diversas linhas MIDI independentes. Cada linha
pode ser abstraída como uma rede de 16 canais MIDI que possibilita ao usuário usar mais do
que as 16 portas MIDI definidas pelo protocolo. [9]
26
1.6.2.2 Controladores
Controladores são dispositivos que geram mensagens MIDI. [7]
1.6.3 A Conexão MIDI
Uma das maiores preocupações dos idealizadores do MIDI, foi de sua inclusão não
produzir um aumento no custo de fabricação que foi conseguido devido aos circuitos de
interfaceamento, e às facilidades para o usuário 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 transmissão de dados MIDI se dá de forma unidirecional e
designamos os instrumentos como "transmissor" ou "mestre" aquele de onde a informação sai
e "receptor" ou "escravo" aquele aonde a informação chega. Pode-se operar o MIDI em modo
bidirecional, de forma que os equipamentos tanto recebem quanto transmitem informações.
Os instrumentos MIDI possuem conexões apropriadas para as ligações MIDI, que são MIDI
In, MIDI Out e MIDI Thru conforme Figura 1.5. A primeira serve para o instrumento receber
informações; ela é a entrada de dados para o instrumento receptor. A conexão MIDI Out,
serve para o instrumento transmitir informações; ela é a saída de dados para o instrumento
transmissor. A terceira conexão, que em alguns instrumentos pode não existir, é uma saída de
dados serve para retransmitir para outros as informações recebidas pelo instrumento, e serve
para fazer encadeamentos múltiplos de instrumentos. [8]
Figura 1.5 – Conectores de passagem (THRU), de saída (OUT) e entrada (IN) MIDI. [7]
27
Nos circuitos eletrônicos de interfaceamento MIDI mesmo que o usuário faça a
conexão errada entre as conexões MIDI, os circuitos apenas não funcionam. Em um único
cabo pode haver informações simultâneas para diversos instrumentos diferenciados,
conseguido pela canalização das informações, e se os canais de MIDI do transmissor e do
receptor não estiverem ajustados adequadamente, a comunicação não poderá acontecer. [8]
1.6.3.1 Tipos de Conexão
A forma mais simples e comum de interligação MIDI (Figura 1.6) é a saída de um
instrumento (um teclado, por exemplo) conectada à entrada de outro. [8]
Figura 1.6 – Teclado / Teclado. [8] Se quisermos controlar dois instrumentos a partir de um teclado, poderemos encadeá-
los usando a conexão MIDI Thru (Figura 1.7). As informações geradas pelo instrumento
transmissor chegam ao primeiro teclado receptor e são usadas por ele e as mesmas
informações passam através do teclado receptor e chegam à entrada do módulo sintetizador,
que usará as informações, desde que o canal de recepção esteja selecionado corretamente. [8]
Figura 1.7 – Teclado / MIDI Thru. [8]
28
O computador pode funcionar tanto como receptor (quando você toca a música no
teclado e o computador armazena as informações MIDI), quanto como transmissor (quando
ele re-executa a música no teclado, a partir das informações MIDI armazenadas) (Figura 1.8).
Há duas ligações In - Out: uma do computador para o teclado; outra do teclado para o
computador. As interfaces MIDI dos computadores não possuem conexão MIDI Thru. [8]
Figura 1.8 – Teclado / Computador. [8]
1.6.4 Os canais MIDI
Para transmitir informações de notas e outros eventos musicais, o sistema MIDI dispõe
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 informações se
estiver ajustado para o mesmo canal MIDI (no caso canal 1). Os equipamentos atuais possuem
ajustes separados de canal de transmissão e recepção, onde um sintetizador pode estar
configurado para transmitir MIDI pelo canal 2, e receber pelo canal 4. Como os instrumentos
mais modernos são "multitimbrais" podem receber em vários canais simultâneos,
independentemente do ajuste do seu canal de transmissão. [8]
Figura 1.9 – Transmissão / Recepção. [8]
29
Ao se conectar dois ou mais equipamentos MIDI deve-se verificar se estão
configurados os canais de transmissão e recepção. O número máximo de canais de MIDI
"trafegando" pelo cabo é 16. Nos estúdios profissionais, para se ultrapassar esse limite, usam-
se equipamentos (ex: interfaces MIDI) com múltiplas portas de saída MIDI Out, de forma que
por cada uma são transmitidos simultaneamente 16 canais MIDI. Um sistema com oito saídas
pode trabalhar com até 128 canais de MIDI. Alguns canais são usados para controlar
processadores de efeitos, mesas de mixagem e outros recursos de estúdio. [8]
1.6.4.1 Sintetizadores Multitimbrais
Num equipamento multitimbral é como se existissem vários sintetizadores embutidos
na mesma "caixa". Em geral, possuem 16 "partes timbrais", Figura 1.10, onde cada uma toca
um timbre (instrumento) diferente. O mesmo equipamento pode executar todo o arranjo de
uma música (bateria, baixo, piano, cordas, sax, etc.). Cada parte timbral atua como um
instrumento "receptor", operando em seu próprio canal de recepção MIDI (o canal 10 é
reservado para bateria e percussão). Se duas partes timbrais estiverem configuradas para
receber pelo mesmo canal de MIDI, executarão juntas as mesmas notas. A multitimbralidade
viabilizou uma redução muito grande de custo nos estúdios MIDI, pois um sintetizador
multitimbral pode fazer sozinho o que antes só era possível com vários equipamentos
separados. [8]
Figura 1.10 – Transmissão / Recepção em 16 canais. [8]
30
1.6.5 Standard MIDI Files
Apesar da especificação original do MIDI padronizar a linguagem para controle
musical, não descreveu padrão para a formatação dos arquivos de dados. Tinham-se vários
arquivos com dados MIDI em formatos diferentes que só eram interpretados pelos
dispositivos que os tinham gerado. Para resolver este impasse a comunidade MIDI
estabeleceu em 1988 a especificação chamada SMF. Os dispositivos continuam com seu
funcionamento interno específico, porém a padronização dos arquivos MIDI tornou tais
dispositivos mais portáveis e possibilitou a troca de informações musicais de maneira mais
fácil. A principal diferença entre os SMF e os arquivos que tinham apenas o dado bruto MIDI
é que os dados MIDI nos SMFs possuem etiquetas de tempo. Cada mensagem vem com um
rótulo que pode ser de 8 ou 32 bits, especificando em que momento do pulso de clock ela
deverá ser executada. [9]
1.6.6 Limitações do MIDI
A limitação de largura de banda se dá devido à quantidade de dados de controle que
são necessários durante a execução de uma música. A utilização de vibrato em apenas uma
voz pode consumir praticamente toda a largura de banda MIDI. Algumas formações de acorde
também podem parecer arpejos (execução sucessiva das notas de um acorde) ao invés de um
som harmônico, mais especificamente quando o tempo das notas que formam o acorde é
muito pequeno. Isto se deve à característica seqüencial de MIDI, em que as notas são enviadas
em mensagens diferentes, uma de cada vez. Cada via de comunicação MIDI exige seu próprio
canal, onde a comunicação em um único cabo não é full-duplex. Na comunicação entre dois
dispositivos MIDI em duas vias, são necessários dois cabos. A quantidade de cabos é duas
vezes igual à quantidade de dispositivos e em um ambiente como um estúdio isso pode se
tornar uma barreira. As mensagens MIDI não especificam nada em relação ao timbre que a
nota que está sendo enviada terá. O resultado é que uma mesma nota pode soar como um
baixo acústico em um sintetizador ou como um piano em outro. Isto se deve ao fato de MIDI
ser um protocolo de representação de música que procura ser independente do dispositivo que
31
irá utilizá-lo. Da mesma forma, a representação de pitch (alteração na freqüência da nota) de
MIDI é fraca. Apesar de possibilitar a utilização de bends em notas, o MIDI aplica a
mensagem de bend a todas as notas do canal MIDI para onde a mensagem foi enviada, tirando
um pouco da flexibilidade do protocolo. [9]
1.7 Placa de Toque
As trilhas de uma Placa de Toque, Figura 1.11, são intercaladas e isoladas como dois
garfos com os dentes encaixados um dentro do outro, sem se encostarem. Quando o usuário
tocar em qualquer parte da placa com o dedo, ambas as trilhas de circuito impresso são
tocadas ao mesmo tempo e haverá uma diminuição da resistência entre as duas trilhas em
virtude da pele do dedo apresentar uma resistência. [10]
Figura 1.11 – Placa de Toque. [10]
A resistência entre as duas trilhas na placa de toque (quando não é tocada) é de
milhões de Ohms. Quando tocada, a resistência se reduz para aproximadamente 100kΩ.
Quando o dedo atua com mais firmeza a resistência diminui para valores entre 30kΩ e 50kΩ.
Isto acontece porque o dedo toca as trilhas com uma maior área de contato e mais umidade
sai dos poros diminuindo a resistência. Esta placa pode ser usada como um sensor de toque
ou de chuva. Quando a placa de toque é conectada ao circuito, a mudança da resistência é
sentida pelo mesmo através da corrente que por ela passa. O padrão de garfo intercalado serve
para multiplicar a área de contato do dedo, que se comporta como diversos resistores em
paralelo, diminuindo a resistência efetiva do circuito. [10]
32
O tipo de contato utilizado na placa de toque foi uma das formas utilizadas como
interruptor de toque em diversos dispositivos eletrônicos em lugar de um botão de empurrar.
Porém se tornou menos utilizado pela diminuição da confiabilidade de seu funcionamento,
pois em condições de extremos como pele muito seca, excesso de óleo, manteiga ou outros
resíduos ou mesmo a utilização de luvas impedia os circuitos de funcionarem adequadamente,
por isso as placas de toque foram substituídas por interruptores de membrana na maioria dos
dispositivos eletrônicos já que as membranas requerem apenas uma leve pressão e nenhuma
sujeira pode entrar no interruptor que está lacrado. [10]
1.8 Teclado de Membrana
É um conjunto de teclas não móveis, com contornos e símbolos impressos em
superfície plana e flexível (Figura 1.12), e contatos elétricos entre a superfície e os circuitos
subjacentes quando pontos-chave são pressionados. Foram usados em alguns computadores
do início da década de 1980 e desde então são usados em dispositivos eletrônicos, barato
quando produzido em massa, de fácil manutenção, longa vida útil e mais resistente à sujeira e
líquidos derramados do que quaisquer outros teclados. É utilizado em equipamentos
hospitalares, industriais e outros dispositivos que exijam limpeza fácil e constante. Devido ao
baixo retorno táctil, muitas pessoas sentem dificuldade em digitar nesses teclados. Foi
apresentado como alternativa os "teclados chiclete" que permitem que teclas individuais
sejam sentidas em algum grau, mas não foram bem aceitos no mercado como se esperava e
seu uso ficou restrito à eletrônica de baixo custo (como controles remotos). [11]
Figura 1.12 – Teclado de Membrana. [12]
33
1.9 LDR
LDR é um transdutor (sensor) que converte a luz em valores de resistência. É feito de
sulfeto de cádmio (CdS) ou seleneto de cádmio (CdSe). Sua resistência diminui (resistência
mínima, 100Ω) quando a luz que incide sobre ele aumenta, e quando a luz diminui, a
resistência no LDR aumenta (resistência máxima, 1MΩ) (Figura 1.13). [13]
Um LDR é sensível das faixas: Infravermelho (IR), Luz visível e Ultravioleta (UV),
pode ser soldado de maneira simples e é muito frequentemente utilizado nas chamadas
fotocélulas que controlam o acendimento de poste de iluminação e luzes em residências.
Também é utilizado em sensores foto-elétricos assim como fotodiodos. [13]
Figura 1.13 – LDR. [13]
1.10 Fotodiodos
Um fotodiodo é um dispositivo que converte a luz recebida em uma determinada
quantidade de corrente elétrica. A corrente reversa e o fluxo luminoso variam quase que
linearmente, onde um aumento na intensidade luminosa resultará em um aumento semelhante
na corrente reversa. A corrente reversa é essencialmente nula na ausência de luz incidente.
Como os tempos de subida e de queda (parâmetros de mudança de estado) são da ordem de
nanossegundos, o dispositivo pode ser usado na aplicação de contagem ou comutação de alta
velocidade. O germânio é mais adequado para luz incidente na região infravermelha,
abrangendo um espectro mais amplo de comprimentos de onda do que o silício, apesar de sua
corrente negra maior. O nível de corrente gerada pela luz incidente sobre um fotodiodo não é
suficiente para ser usado em controle direto, sendo necessário estágio de amplificação. [14]
34
1.11 Fototransistores
O fototransistor pode detectar a incidência de luz e fornecer um ganho. Como o
transistor convencional, o fototransistor é uma combinação de dois diodos de junção, porém,
associado ao efeito transistor aparece o efeito fotoelétrico. Em geral, possui apenas dois
terminais acessíveis, o coletor e o emissor, sendo a base incluída apenas para eventual
polarização ou controle elétrico. Como nas outras células fotocondutivas, a incidência de luz
(fótons) provoca o surgimento de lacunas na vizinhança da junção base-coletor. Esta tensão
conduz as lacunas para o emissor, enquanto os elétrons passam do emissor para a base, o que
provoca um aumento da corrente de base, o que implica numa variação da corrente de coletor
beta vezes maior (para Ib sendo a corrente da base e Ic a do coletor, temos Ic = â.Ib, onde â é
o ganho do transistor, sendo essa variação proporcional à intensidade da luz incidente. [14]
Como a base está normalmente desconectada, a corrente que circula por ela dependerá
apenas do fluxo luminoso incidente. Na ausência de luz, a corrente de base é zero e o
fototransistor está cortado, resultando na tensão do coletor igual à tensão de polarização Vcc.
Quando há luz, a tensão no coletor irá diminuir devido ao aumento da corrente. A aplicação
mais usual é a de um interruptor. Enquanto não há luz incidindo no fototransistor, não haverá
uma corrente no emissor, e a tensão de saída será zero, estando ele em corte. Com a
incidência de luz, teremos uma corrente no emissor, provocando uma tensão igual à IeRe. [14]
Com o aumento da temperatura em torno de 8 a 10 graus Celsius, a corrente Iceo
(corrente sem incidência de luz) dobrará. Para elevadas temperaturas, essa corrente terá um
valor significativo em relação à corrente total. Utilizando dois fototransistores compensamos
esse erro. Sua base é sensível à luz, quando há presença da mesma o transistor conduz,
entretanto quando não há presença de luminosidade, o transistor fica cortado. Quando um
facho de luz é apontado para o receptor, este conduz, logo a saída estará em nível lógico "0".
No entanto, quando não há presença de luz, o receptor não está conduzindo, logo a saída
estará em nível lógico "1". [14]
35
1.12 Módulos ZigBee/XBee
A ZigBee permite comunicações robustas e opera na freqüência ISM , sendo na
Europa de 868 MHz (1 canal), 915 MHz (10 canais) nos Estados Unidos e 2,4 GHz (16
canais) em outras partes do mundo, e não requerem licença para funcionamento. As Redes
ZigBee oferecem uma excelente imunidade contra interferências, e a capacidade de hospedar
milhares de dispositivos numa Rede (mais que 65 mil), com taxas de transferências de dados
variando entre 20kbps a 250kbps. O Protocolo ZigBee é destinado a aplicações industriais,
portanto, o fator velocidade não é crítico numa implementação ZigBee. [15]
XBee™:
Performance
- Pout: 1 mW (0 dBm); [15]
- Alcance ambientes internos/zonas
urbanas: 30m; [15]
- Alcance de RF em linha visível para
ambientes externos: 100m; [15]
- Sensibilidade receptor: -92 dBm; [15]
Alimentação
- Itx (típico): 45 mA @ 3.3 V; [15]
- Irx (típico): 50 mA @ 3.3 V; [15]
Propriedades físicas:
- Dimensões: (2.438cm x 2.761cm); [15]
XBee-Pro™:
Performance
- Pout: 60 mW (18 dBm); [15]
- Alcance em ambientes internos/zonas
urbanas: 100m; [15]
- Alcance de RF em linha visível para
ambientes externos: 1,6Km; [15]
- Sensibilidade receptor: -100 dBm; [15]
Alimentação
- Itx (típico): 215 mA @ 3.3 V; [15]
- Irx (típico): 55 mA @ 3.3 V; [15]
Propriedades físicas
- Dimensões: (2.438cm x 3.294cm); [15]
36
XBee™ e XBee-Pro™:
Performance
- Freq.operação: ISM 2.4GHz; [15]
- Taxa de dados de RF: 250k bps; [15]
- Taxa da Interface: 115.kbps; [15]
Alimentação
- Tensão de alimentação: 2.8 à 3.4v;
- Corrente Power-down Sleep: 10 µA; [15]
Propriedades físicas
- Peso: 0.10 oz (3g); [15]
- Temp. de operação: -40 to 85º C; [15]
- Opções de antena: Conector U.FL RF,
Chip ou Chicote (whip); [15]
Rede
- Tipo de espalhamento espectral: DSSS (Direct Sequence Spread Spectrum); [15]
- Manipulação de erro: Retransmite novamente & reconhecimento; [15]
- Topologia de Rede: (Par-a-par), ponto-a-ponto, ponto-a-multiponto e malha; [15]
- Endereçamento: 65 mil endereços de rede disponíveis para cada canal; [15]
- Opções de filtros: PAN ID, canais e endereços; [15]
- Criptografia: 128-bit AES; [15]
- Número de canais selecionáveis via software: 16 canais seqüência direta; [15]
Geral
- Faixa de freqüência: 2,4000 – 2,4835 GHz; [15]
Os módulos XBee/XBee-Pro™ operam em dois modos diferentes: [15]
37
Modo Transparente
Os dados recebidos da UART pelo pino DI (RX) são colocados na fila para transmissão
via RF. Os dados recebidos do canal de RF são transmitidos através do pino DO (TX) e
recebidos como uma comunicação Serial RS232 padrão (Figura 1.14). [15]
Figura 1.14 – Frame de dado padrão RS232 (8-N-1). [15]
Modo API
É baseado em frame e assim estende o nível para o qual uma aplicação de Host pode
interagir com as capacidades de Rede do módulo. No modo API (Figura 1.15) os dados
transmitidos e recebidos estão contidos em frames, que definem operações ou eventos dentro
do módulo. Através desse modo de operação é possível um determinado módulo enviar
endereço fonte, endereço destino, nome de um determinado nó, sinal RSSI, estado, e muito
mais. [15]
Figura 1.15 – Estrutura do Frame de dados no modo API. [15]
Na Tabela 1.1 abaixo está descrito o significado de cada pino dos módulos
XBee/XBee-pro™. [15]
38
Tabela 1.1 - Descrição dos pinos dos módulos XBee/XBee-Pro™. [15] Pino
# Nome Direção Descrição
1 VCC - Alimentação 3,3v 2 DOUT Saída Saída de dados da UART
3 DIN / Entrada Entrada de dados da UART
4 DO8* Saída Saída digital 8
5 Entrada Inicializa módulo (um pulso nível 0 de
pelo menos 200ms)
6 PWM0 / RSSI Saída Saída do PWM 0 / Indicador de Força do
sinal de RF (RX) 7 PWM1 Saída Saída do PWM 1
8 (Reservado) - Ainda não tem uma função definida
(futura implementação)
9 /
SLEEP_IRQ / DI8
Entrada Linha de Controle da Função Sleep ou
Entrada digital 8
10 GND - Terra
11 AD4 / DIO4 Entrada/Saída Só Entrada Analógica 4 ou Entrada/Saída
Digital 4
12 / DIO7 Entrada/Saída Controle de Fluxo CTS ou Entrada/Saída
Digital 7 13 ON / SLEEP Saída Indicador de Estado do Módulo
14 VREF Entrada Voltagem de Referência para as Entradas
A/D
15 Associação / AD5 / DIO5
Entrada/Saída Indicador de Associação, só Entrada
Analógica 5 ou Entrada/Saída Digital 5
16 / AD6 / DIO6
Entrada/Saída Controle de Fluxo RTS, só Entrada
Analógica 6 ou Entrada/Saída Digital 6
17 AD3 / DIO3 Entrada/Saída Só Entrada Analógica 3 ou Entrada/Saída
Digital 3
18 AD2 / DIO2 Entrada/Saída Só Entrada Analógica 2 ou Entrada/Saída
Digital 2
19 AD1 / DIO1 Entrada/Saída Só Entrada Analógica 1 ou Entrada/Saída
Digital 1
20 AD0 /DIO0 Entrada/Saída Só Entrada Analógica 0 ou Entrada/Saída
Digital 0
Os módulos XBee/XBee-Pro são configurados através de comandos AT (Figura
1.16), parecidos com os usados para configurar modems. Nos módulos XBee/XBee-Pro Série
1 os comandos ATs servem para configurar ou ler parâmetros no módulo local. Já na Série 2 é
possível enviar comandos ATs remotamente de um módulo para outro. Para configurar um
XBee/XBee-Pro, precisamos usar somente os pinos 2-TX, 3-RX e o GND do módulo. Com a
placa CON-USBBEE é possível configurar um módulo através do programa X-CTU, tanto a
partir da Aba "Terminal", digitando os comandos manualmente, como também através da Aba
39
"Modem Configuration", ou mesmo através de um programa como o HyperTerminal do
Windows ou outro similar. Para fazer o módulo XBee/XBee-Pro entrar no modo comando,
digite três caracteres "+++" (não pressione a tecla <ENTER>) na janela "Terminal" do X-
CTU ou no HyperTerminal do windows. Se o módulo recebeu o comando corretamente, ele
confirma enviando a mensagem "OK". Após o OK o módulo está apto para receber comandos
de escrita ou leitura. [15]
Figura 1.16 – Formato para enviar comandos ATs ao módulo XBee/XBee-Pro. [15]
<CR> = (Retorno de carro) - É um byte de valor 13(Dec) ou 0D(Hex). [15]
Tabela 1.2 – Comandos dos módulos XBee/XBee-Pro™ 1. [15]
Comando digitado Resposta do
XBee/XBee-Pro Significado
+++ OK<CR>
Faz o módulo XBee/XBee-Pro entrar no modo comando (os caracteres "+++" devem ser digitados num intervalo de 1 segundo). Após o OK, se nenhum comando for digitado num intervalo de +/- 10 segundos, o módulo volta ao estado idle (pronto para transmitir ou
receber). ATDL 5001<ENTER> OK<CR> Altera o endereço destino (DL) do módulo local para 5001.
ATDL <ENTER> 5001<CR> Lê o endereço destino (DL) do módulo local. ATMY 5000<ENTER> OK<CR> Altera o endereço fonte (MY) do módulo local para 5000.
ATMY <ENTER> 5000<CR> Lê o endereço fonte (MY) do módulo local.
ATWR <ENTER> OK<CR> Grava as modificações efetuadas, na memória não volátil (Flash) do
módulo.
ATCN<ENTER> OK<CR> Fecha o modo comando e volta ao estado idle (pronto para
transmitir ou receber).
40
Observação:
*Se o comando WR não for executado, as modificações permanecerão na
memória do módulo, somente enquanto o mesmo estiver recebendo alimentação da fonte de
energia elétrica; [15]
*Todos os parâmetros numéricos de configuração do módulo devem ser entrados
em hexadecimal (não digitando o prefixo 0x); [15]
É possível enviar comandos para configurar o módulo em uma única linha: [15]
Tabela 1.3 – Comandos dos módulos XBee/XBee-Pro™ 2. [15]
Comando digitado Resposta do XBee/XBee-Pro
Significado
ATDL 5001,MY 5000,WR,CN<ENTER> OK , OK , OK<CR> Altera o endereço DL para 5001, o MY para 5000, grava os dados na memória
Flash e sai do modo comando.
ATNI Sensor_Temp_01<ENTER> OK<CR>
Dá um nome para o módulo XBee-XBee-Pro - "Sensor_Temp_01".
Pode usar até 20 caracteres ASCII para nomear o módulo.
ATNI <ENTER> Sensor_Temp_01<CR> Retorna o nome do módulo XBee/XBee-
Pro.
ATVR <ENTER> 10C0<CR> Retorna a versão do firmware gravado no
módulo XBee/XBee-Pro.
ATHV <ENTER> 180B<CR> Retorna a versão do hardware do módulo
XBee/XBee-Pro.
Velocidades válidas para a interface serial de um módulo XBee/XBee-Pro: [15]
1200bps; 2400bps; 4800bps; 9600bps; 19200bps; 38400bps; 57600bps; 115200bps; [15]
Tabela 1.4 – Comandos dos módulos XBee/XBee-Pro™ 3. [15]
Comando digitado Resposta do XBee/XBee-Pro
Significado
ATBD4<ENTER> ATWR <ENTER> ATCN<ENTER>
OK<CR> OK<CR> OK<CR>
Muda a velocidade do módulo para trabalhar com 19200bps, e salva
mudança na memória Flash.
41
Observação:
Após alterar a velocidade, é preciso mudar a velocidade da interface Serial do X-
CTU, na Aba " PC Settings", para que possamos nos comunicar com ele. [15]
Se as configurações a serem feitas forem muitas, o método mais fácil é alterar os
parâmetros através da Aba "Modem Configuration" do programa X-CTU, com os passos
abaixo: [15]
1) Conecte um módulo XBee ou XBee-Pro através 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 botão "Read"; se não for possível ler o módulo por incompatibilidade da versão
do firmware, clique no botão "Download New Versions" (é preciso estar conectado à
Internet). Após a atualização, feche o X-CTU e abra-o novamente. Repita todos os passos
anteriores. [15]
5) Se houve sucesso no passo anterior, modifique os parâmetros que deseja e depois clique no
botão "Write" para gravar na memória Flash do módulo XBee/XBee-Pro. [15]
Siga os passos abaixo para colocar segurança nos módulos XBee/XBee-Pro. Para
esses exemplos atualize a versão do firmware com a 10C0. [15]
1) Conecte um módulo XBee ou XBee-Pro através 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]
42
3) Clique na Aba "Modem Configuration"; [15]
4) Clique no botão "Read"; se não for possível ler o módulo, por incompatibilidade da versão
do firmware, clique no botão "Download New Versions" (é preciso estar conectado à
Internet). Após a atualização, feche o X-CTU e abra-o novamente. Repita todos os passos
anteriores. [15]
5) Se houve sucesso no passo anterior, modifique os seguintes parâmetros: [15]
EE: 1 (o parâmetro 1 habilita a segurança no módulo). [15]
KY: ABABABABABABABABABABABABABABABAB (são 16 bytes hexadecimal de
dois dígitos cada, ou seja, 8 x 16 = 128 bits de encriptação AES). [15]
A chave acima é um exemplo, substitua a mesma por uma chave secreta, que só você
conheça.
6) Clique no botão "Write" para gravar na memória Flash do módulo XBee/XBee-Pro. [15]
7) Repita os passos acima para todos os módulos que deseje que trabalhe de forma segura.
Somente os módulos que tiverem a mesma chave saberão decodificar os dados recebidos. [15]
Nota:
Os módulos que não fazem parte da Rede criptografada, só enxergam os dados a
seguir, que podem ser requisitados através do comando ND (Node Discover): [15]
MY - (endereço fonte do módulo remoto); [15]
SH - (parte alta (32 bits) do número serial do módulo remoto); [15]
SL - (parte baixa (32 bits) do número serial do módulo remoto); [15]
DB - (Nível do sinal recebido - RSSI). [15]
NI - (String contendo o nome do módulo remoto, se nele constar). [15]
43
2. Desenvolvimento do Sistema
O sistema foi desenvolvido conforme o diagrama de blocos da Figura 2.1.
Figura 2.1 – Diagrama de Blocos do Sistema.
A seguir cada um dos blocos é explicado brevemente:
1. Sensores de Toque: Substituem as cordas, recebendo do usuário a posição de cada
dedo no braço e no corpo do controlador, atuando na formação de notas e acordes.
2. Microcontrolador : Recebe as informações de nível lógico provindas dos sensores de
toque, identifica a quais eventos as combinações recebidas correspondem e envia
através do módulo transmissor as informações pertinentes ao computador.
3. Módulo Transmissor: Recebe as informações de forma serial do microcontrolador e as
envia através de RF para o módulo receptor.
4. Fonte de Alimentação: Fornece energia para o funcionamento dos blocos 2 e 3.
5. Módulo Receptor: Recebe as informações por RF do módulo transmissor e as envia de
forma serial através da porta USB para o computador.
44
6. Computador: Recebe as informações de forma serial através da porta USB, e as
transforma em eventos MIDI (como comando nota pressionada e quais notas serão
tocadas), executando os respectivos sons através de um software compatível.
7. Corpo do Controlador: Feito em MDF, onde são acondicionados os itens de 1 a 4.
2.1 Sensores de Toque
Foram estudadas diversas alternativas de sensores de toque para este projeto, dentre
elas pode-se enfatizar três opções principais para a utilização da mão que compõe notas e
acordes no braço do controlador: micro-chaves, placa de toque e teclado de membrana. Dentre
as três, para uma das mãos foram testadas duas placas de toque matriciais, confeccionadas
especialmente para este trabalho e foi feito um teclado de membrana. Já para a mão que toca
as “cordas virtuais” testou-se o uso de LDRs e pares de LED-infravermelho/fototransistor,
que apresentaram melhor desempenho em relação ao anterior.
2.1.1 Primeira Placa de Toque Matricial
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 intersecção 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(nível lógico baixo), com dimensões de 40cm
de largura, 5cm de altura e espessura desprezível (Figura 2.2). Ao serem colocados os dedos
nas intersecções dessas trilhas de “cordas” e “casas”, em cada uma delas é fechado o contato
com o terra. O microcontrolador recebe as informações através de seus pinos de I/O ligados a
essas trilhas e configurados como entrada de sinal digital, identificando a que nota
corresponde cada posição pressionada.
45
Figura 2.2 – Última Casa da Primeira Placa de Toque Matricial.
Essa primeira tentativa de placa de toque matricial não proporcionou um resultado
satisfatório, por apresentar muitos maus contatos devido ao fato de não ter-se eliminado o
cobre excedente através de corrosão ácida, pelo fato de as trilhas serem muito finas e poderem
sofrer rompimentos. Quando se posiciona o dedo em apenas uma casa, por exemplo, e são
tocadas as “cordas invisíveis”, o som que escutamos é aparentemente aleatório, não
correspondendo sempre à mesma nota que deveria ser executada pelo computador.
2.1.2 Teclado de Membrana
Foi confeccionado com três partes principais que são:
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
dimensões 41,13cm de largura, 5,61cm de altura e espessura desprezível;
2) Três camadas de um adesivo de mesmo tamanho da placa de cobre com seis
aberturas retangulares em cada casa, de dimensões 1,63cm de largura, 0,5cm de altura e
espessura desprezível afastados por uma distância de 0,4cm com espaçamento de
aproximadamente 0,475cm entre casas, (totalizando 120 retângulos), grudados na placa com
intuito de isolar suas trilhas da próxima parte;
46
3) Seis tiras de um papel alumínio especial retirado do interior de uma espécie de cano
de proteção e isolação que envolve os fios de telefone utilizados nas montagens de circuitos
em protoboard, que possui uma camada de um material plástico isolante de cor azul que serve
para melhorar a resistência física do mesmo, de dimensões 41,13cm de largura,
aproximadamente 0,65cm de altura e espessura desprezível colocados sobre as camadas de
adesivo isolante.
As outras partes consistem em tiras de adesivo utilizadas para prender as tiras de papel
alumínio no adesivo isolante superior e um plástico que envolve todas essas partes protegendo
o conjunto do contato de sujeira, oleosidade e suor decorrentes do manuseio (Figura 2.3).
Figura 2.3 – Teclado de Membrana.
Para garantir o contato das tiras de papel alumínio com as respectivas vias do cabo flat
utilizado para ligar o teclado de membrana nos pinos correspondentes do microcontrolador foi
necessário utilizar uma espécie de abraçadeira confeccionada com duas tiras de plástico de
dimensões 1cm x 9,5cm x 0,3cm presas por dois pares rosca/parafuso. Como infelizmente as
tiras de papel alumínio não tinham o comprimento necessário de acordo com a necessidade do
projeto, foi necessário fazer uma emenda em cada tira entre a quarta e a quinta casas com o
lado bom de sinalizar a posição da quinta casa, sinalização normalmente feita em guitarras
através de marcações decorativas no braço do instrumento.
47
As trilhas correspondentes as casas são soldadas a um cabo flat de 20 vias que é
conectado a placa do microcontrolador e também um fio soldado na trilha que corresponde ao
terra é conectado no pino da placa que recebe o terra da fonte de alimentação. O teclado de
membrana é fixado ao corpo do controlador por meio de duas tiras de fita adesiva dupla-face
afim de que fique firme e com um bom acabamento.
O funcionamento é basicamente o mesmo dos teclados de membrana encontrados no
comércio, com a diferença de possuir três contatos (duas trilhas e cada tira de papel alumínio)
em cada ponto-chave ao invés dos dois comumente encontrados. Pressionando os retângulos
desejados para as intersecções correspondentes fecharem contato entre si, sem interferirem no
restante dos contatos disponíveis, permite que seja tocada uma nota por vez.
2.1.3 Segunda Placa de Toque Matricial
Foi confeccionada uma segunda placa de toque matricial (Figura 2.4) com as mesmas
medidas da placa do teclado de membrana, porém com as trilhas mais espessas em relação à
primeira placa de toque confeccionada e testada anteriormente, também com dupla-face.
Figura 2.4 – Última Casa da Segunda Placa de Toque Matricial.
48
A vantagem é que essa versão pôde ser corroída e assim foi eliminado o problema do
mau contato devido ao cobre excedente. Por outro lado descobriu-se que a pressão do dedo
nas trilhas precisa ser muito forte se comparada à pressão exercida no teclado de membrana,
para que seja fechado o contato entre as trilhas de cada ponto de intersecção, o que torna mais
difícil o usuário conseguir executar a(s) nota(s) que quer ouvir. Outro problema encontrado
foi a possibilidade do usuário 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 aceitação dessa placa de toque para o protótipo.
2.1.4 Teste com LDR
Utilizou-se seis LDRs, um para cada “corda invisível” de forma que o usuário deve
quase encostar o dedo no sensor para que seja executado o som correspondente a “corda”
tocada. Enquanto a luz incide sobre o sensor o microcontrolador recebe nível lógico alto e
quando não incide recebe nível lógico baixo, enviando assim as mensagens MIDI
correspondentes a “corda” tocada. As desvantagens são de não funcionar no escuro e o fato do
usuário ter que ser muito preciso para conseguir obter o funcionamento adequado pretendido.
2.1.5 Pares LED/Fototransistor
Para a criação das “cordas invisíveis”, duas placas foram confeccionadas, uma de
LEDs infravermelhos e a outra de fototransistores. Elas devem ser posicionadas uma de frente
para a outra (Figura 2.5) a fim de que o feixe de cada LED infravermelho de uma das placas
incida no fototransistor correspondente da outra placa até que seja interrompido, pela
passagem do dedo do usuário, que faz com que o pino do microcontrolador receba uma tensão
próxima de 5V (nível lógico alto) que indica “corda tocada”, acionando assim o som
correspondente no computador.
49
Figura 2.5 – Pares de LED Infravermelho/Fototransistor.
Na figura podemos observar os LEDs infravermelho à esquerda e os fototransistores à
direita no corpo do controlador. As vantagens dessa implementação em relação à tentativa
com LDR são de poder funcionar no escuro, pois a luz dos LEDs infravermelho continua
incidindo nos fototransistores e o usuário precisa apenas passar os dedos, entre o LED
infravermelho e o fototransistor para obter o som desejado.
2.2 Microcontrolador e Firmware
O microcontrolador escolhido foi o PIC18F4620 devido às características: 36 pinos de I/O
configuráveis pelo programador (33 foram utilizados), comunicação através da UART e clock
máximo de 40MHz (utilizado). A Figura 2.6 mostra o circuito do microcontrolador.
50
Figura 2.6 – Circuito com o Microcontrolador.
Na figura ainda podemos observar os componentes ligados ao microcontrolador na
placa onde as demais são conectadas através de cabos flat nos conectores: J4 e/ou J6 a placa
das “cordas”, J8, J9 e/ou J10, J11 os pinos do braço correspondentes as “casas”, J3 e/ou J5 os
pinos do braço correspondentes às cordas e J12 o módulo transmissor. É nela que é inserida a
alimentação que vai para todos os circuitos. Utilizou-se clock de 40 MHz com um cristal de
10MHz multiplicado por 4 pelo PLL do microcontrolador, por apresentar o menor atraso na
execução dos sons e maior velocidade na utilização da taxa de transmissão necessária ao
funcionamento do protocolo MIDI, 31,25kbps.
Antes da escolha do título deste trabalho foi desenvolvida uma forma de o próprio
microcontrolador gerar o som de cada nota musical necessária para o projeto, ainda quando se
pretendia confeccionar um violão ou guitarra eletrônica onde seriam gerados os sons no
próprio protótipo, idéia que foi amadurecida até se optar por construir um controlador MIDI,
51
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 além de um amplo leque de possíveis aplicações futuras Inicialmente
estudou-se a entrada conversora analógico-digital interna do microcontrolador PIC16F877 e
em seguida programou-se uma rotina no firmware de modo que ao ser variada a tensão em
cada um dos seis pinos configurados como entrada analógica em aproximadamente 0,2V por
nota. Totalizando 23 divisões e com o primeiro valor de 0,5V não utilizado e 23 notas por
corda (corda solta e 22 notas do braço), gerava-se cada nota musical de forma muito simples,
intercalando nível lógico alto e nível lógico baixo no pino de saída numa determinada
freqüência de acordo com a(s) nota(s) tocada(s) gerando assim um somatório de até seis ondas
quadradas na saída e produzindo, portanto um som não tão agradável ao ouvido e sem um
timbre parecido com o de violão ou guitarra. O hardware dessa etapa do projeto não foi
montado em circuito impresso, sendo realizadas simulações no computador e montagens em
protoboard usando botões da resistência em série para o terra para obter a tensão
correspondente à nota do botão 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 precisão na relação da tensão
fornecida aos pinos da entrada analógica, pois mesmo com todos os ajustes feitos em
decorrência da utilização de resistores com tolerância de 10%, alguns botões enviavam
tensões com diferenças inferiores aos 0,2V estipulados, o que acarretava em um mesmo botão
fazer o microcontrolador executar alternadamente de uma a 3 notas diferentes, a nota correta,
a anterior e a próxima nota.
No protótipo do controlador MIDI em forma de guitarra o firmware atua de forma que
o microcontrolador recebendo nível lógico baixo (0V) em seus 26 pinos ligados à placa do
teclado de membrana (20 correspondentes as casas e 6 correspondentes as cordas) e em seus
seis pinos ligados à placa dos fototransistores nível lógico alto (5V), todos configurados como
entrada de sinal digital, envia mensagens MIDI pertinentes através da UART para o módulo
transmissor que por sua vez envia ao módulo receptor ligado ao computador (Figura 2.7). O
firmware completo encontra-se no Anexo I.
52
Figura 2.7 – Diagrama da Rotina Principal do Firmware.
Para programar o microcontrolador com as tarefas a serem realizadas por ele, foi
necessário o estudo prévio do protocolo MIDI e a relação das mensagens MIDI com as notas
musicais a serem executadas pelo computador. Descobriu-se que para cada nota musical o
protocolo MIDI associa um determinado valor, por exemplo, a nota mais grave do controlador
que é a sexta corda solta é um Mi cujo valor correspondente é 40 que será interpretado depois
no computador por um software compatível com esse protocolo e executará a nota Mi
solicitada. Como o protocolo MIDI permite apenas 128 posições para as notas e com 22 casas
teríamos 138, optou-se por reduzir o número de casas para 20 que nos fornece 126 posições
distintas, que continua sendo um número razoável se comparado com um violão que
normalmente possui 19 casas totalizando 120 posições. Com essas informações foi criada a
Tabela 2.1 abaixo que nos mostra a relação das 45 notas diferentes que o controlador pode
executar com suas respectivas freqüências e o valor da mensagem MIDI enviada ao
computador que irá executá-las.
Início
Configurações Iniciais
Laço Infinito Testa Corda Tocada Chama Função da Corda Tocada
Corda 1 Testa Casa
Tocada Chama
Função de Envio
Corda 2 Testa Casa
Tocada Chama
Função de Envio
Corda 3 Testa Casa
Tocada Chama
Função de Envio
Corda 4 Testa Casa
Tocada Chama
Função de Envio
Corda 5 Testa Casa
Tocada Chama
Função de Envio
Corda 6 Testa Casa
Tocada Chama
Função de Envio
Envia Comando Nota Pressionada, Envia Nota, Envia Velocidade (Intensidade)
53
Tabela 2.1 - Relação das Mensagens MIDI com as Notas Musicais.
Frequência Nota Cordas e Casas Correspondentes da Guitarra Código (Hz) Musical 6ª 5ª 4ª 3ª 2ª 1ª MIDI 329,5 MI 0 40 349 FÁ 1 41 370 FÁ# 2 42 392 SOL 3 43
415,5 SOL# 4 44 440 LÁ 5 0 45 466 LÁ# 6 1 46 494 SI 7 2 47 523 DÓ 8 3 48 554 DÓ# 9 4 49 587 RÉ 10 5 0 50 622 RÉ# 11 6 1 51 659 MI 12 7 2 52 698 FÁ 13 8 3 53 740 FÁ# 14 9 4 54 784 SOL 15 10 5 0 55 831 SOL# 16 11 6 1 56 880 LÁ 17 12 7 2 57 932 LÁ# 18 13 8 3 58 988 SI 19 14 9 4 0 59 1046 DÓ 20 15 10 5 1 60 1108 DÓ# 16 11 6 2 61 1174 RÉ 17 12 7 3 62 1244 RÉ# 18 13 8 4 63 1318 MI 19 14 9 5 0 64 1396 FÁ 20 15 10 6 1 65 1480 FÁ# 16 11 7 2 66 1568 SOL 17 12 8 3 67 1662 SOL# 18 13 9 4 68 1760 LÁ 19 14 10 5 69 1864 LÁ# 20 15 11 6 70 1976 SI 16 12 7 71 2092 DÓ 17 13 8 72 2216 DÓ# 18 14 9 73 2348 RÉ 19 15 10 74 2488 RÉ# 20 16 11 75 2636 MI 17 12 76 2792 FÁ 18 13 77 2966 FÁ# 19 14 78 3136 SOL 20 15 79 3324 SOL# 16 80 3520 LÁ 17 81 3728 LÁ# 18 82 3952 SI 19 83 4184 DÓ 20 84
54
2.3 Módulo Transmissor
Enviou-se informações com o módulo XBee ligado ao microcontrolador (Figura 2.8).
Figura 2.8 – Módulo XBee Pro e Microcontrolador. [15]
Devido à diferença entre as tensões de trabalho do microcontrolador e do módulo
XBee, 5V e 3V respectivamente, há um divisor de tensão na saída do pino TX do
microcontrolador para a tensão enviada ser compatível com a tensão aceita pelo módulo.
Como o espaçamento entre o centro dos pinos do módulo XBee é de 2mm, foi necessário a
confecção de uma placa separada para o módulo transmissor. Por não serem encontrados os
barramentos de pinos necessários, foram utilizados como soquete para o módulo transmissor,
barramentos fêmea de 10 pinos cada, retirados da conexão da placa de ajustes de imagem de
um monitor de computador.
2.4 Fonte de Alimentação
Uma tensão de 5V é necessária para alimentar o microcontrolador. Para obtenção
desta tensão, uma fonte de alimentação (Figura 2.9) foi construída. O consumo de corrente
do microcontrolador e do módulo transmissor juntos é de aproximadamente 100mA. Como
a tensão eficaz de saída do transformador é de 6V, a tensão de pico disponível é de:
(6V x 1.4142) – 0.7V = 7.78V, onde 0.7V é a queda de um diodo. Como na entrada do 7805
são necessários no mínimo 7V, o ripple máximo é de 0.78V. Sendo retificação de onda
completa, o capacitor C1 é calculado utilizando-se tempo máximo de descarga de 8ms:
C1 = (I x 0.008)/ ripple; C1 = (0.1 x 0.008)/0.78; C1= 1000µF
55
Figura 2.9 – Circuito Elétrico da Fonte de 5V.
Também foi utilizada como alternativa à fonte uma bateria de 9V para alimentar o
circuito do controlador sem a necessidade de conexão à rede elétrica.
2.5 Módulo Receptor
Foi utilizado outro módulo 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 módulo.
Figura 2.10 – Placa CON-USBBEE (com cabo extensor). [15]
2.6 Computador
Para poder trabalhar na taxa de transmissão de dados necessária para o funcionamento
do protocolo MIDI (31250bps) foi necessário utilizar um mecanismo que “engana” o
computador, que possui um dos valores fixos de taxa de transferência mais próxima da
necessária de 38400bps. Para isso foi utilizado o software “FTDI Clean Utility V1.0” (Figura
2.11) que ao ser executado limpa as instalações referentes ao funcionamento da porta COM
do computador relacionada à USB e as referentes ao programa utilizado pelos módulos XBee.
56
Figura 2.11 – FTDI Clean Utility V1.0. [16]
Em seguida é necessário que se instale novamente os arquivos apagados, dessa vez,
provindos de outra pasta “MIDIfied FTDI driver” devidamente salva no computador, que
contém o necessário para o funcionamento esperado.
Para a utilização adequada dos módulos ZigBee/XBee neste projeto é necessário
conectar cada um deles na placa CON-USBBEE, abrir o programa X-CTU(disponível no site
do fabricante da placa CON-USBBEE) e na aba Terminal digitar cada seqüência em azul por
vez e esperar que o computador responda o que aparece em vermelho conforme Figura 2.12 :
Figura 2.12 - X-CTU Aba Terminal. [16]
Em seguida basta selecionar a opção “USB Serial Port (COMx)” (nesse caso x = 3) na
aba “PC Settings”, clicar no botão “Test/Query” e aguardar a mensagem mostrada na Figura
2.13. Caso a mensagem não confirme o funcionamento correto da comunicação, deve-se
repetir os procedimentos anteriores até se conseguir a confirmação de comunicação.
57
Figura 2.13 - X-CTU. [16]
2.6.1 Softwares
Para testar o funcionamento do protótipo na fase de recepção das informações e
execução das notas utilizou-se o software “Bome’s Mouse Keyboard” (Figura 2.14)
configurado em suas abas da seguinte maneira: Roland Serial MIDI Input na aba MIDI In e
Sint. softw.tab. sons wave MS G na aba MIDI Out.
Figura 2.14 – Bome’s Mouse Keyboard.
Com o Guitar Pro 5 v5.2(Figura 2.15) foi possível a criação de partituras e tablaturas
em tempo real utilizando o protótipo do controlador.
58
Figura 2.15 – Guitar Pro 5 v5.2.
2.7 Corpo do Controlador
Projetado no programa AutoCAD 2010, o corpo do protótipo (Figura 2.16) foi
confeccionado em MDF com 8 retângulos de acrílico estrategicamente colados e outros dois
encaixados na parte da frente para possibilitar que as placas dos LEDs infravermelho e dos
fototransistores possam ser aproximados e distanciados de acordo com a necessidade do
usuário. Já na parte de trás foi pregado o maior dos retângulos de acrílico para servir como
tampa da abertura feita para acondicionar a placa principal do protótipo. As fotos do corpo em
MDF e acrílico, bem como as fotos do controlador pronto, com o corpo devidamente pintado,
envernizado e com as placas corretamente acondicionadas pode ser visto no Anexo III.
Figura 2.16 – Corpo do Controlador no AutoCAD.
59
3. Resultados Obtidos
Com o protótipo do controlador devidamente finalizado (Figura 3.1), foi possível a
realização de testes que demonstram o funcionamento do mesmo.
Figura 3.1 – Controlador MIDI em Forma de Guitarra.
60
Foi comprovado o correto funcionamento do sistema de deslizamento dos sensores das
cordas invisíveis, conseguindo variar a distância entre as placas dos LEDs infravermelhos e a
placa dos fototransistores de 2,5cm a 12cm (Figura 3.2 e Figura 3.3), o que possibilita ao
usuário interromper os feixes dos LEDs tanto com objetos de pequena espessura ou mesmo
um de seus dedos da mão como utilizando a mão inteira ou outros objetos entre as duas
placas.
Figura 3.2 – Distância Mínima.
Figura 3.3 – Distância Máxima.
É possível se utilizar o controlador tanto por destros quanto por canhotos, bastando
para isso inverter fisicamente as conexões da placa dos fototransistores e da placa do
microcontrolador referentes às tiras de papel alumínio que fazem o papel das cordas do
teclado de membrana, de acordo com a escolha do usuário (Figura 3.4).
61
Figura 3.4 – Conexões Destro ou Canhoto.
Na execução de notas isoladas uma de cada vez o controlador respondeu muito bem e
foi possível escrever em tempo real tanto a partitura como a tablatura do início da introdução
de Pour Elise do grande compositor clássico Ludwig Van Beethoven, música escolhida para
exemplificar o funcionamento do protótipo do controlador utilizando para isso o software
compatível com a comunicação MIDI, o Guitar Pro 5 v5.2 (Figura 3.5). Percebeu-se apenas
que o tempo de cada nota é padronizado devido às configurações prévias do editor utilizado.
Figura 3.5 – Introdução da música Pour Elise de Beethoven.
62
CONSIDERAÇÕES FINAIS
Para facilitar a vida dos estudantes de guitarra, neste projeto de graduação
desenvolveu-se um controlador MIDI em forma de guitarra com sensores de toque no lugar
das cordas com comunicação wireless-USB para o computador.
Implementou-se o protótipo em 5 placas de circuito impresso interligadas com cabos
flat, onde em cada uma das placas está contida uma parte do mesmo: o teclado de membrana,
os fototransistores, os LEDs infravermelho, o microcontrolador e o módulo transmissor. O
computador, conectado ao módulo receptor através da USB, executa os sons correspondentes
às “casas” e “cordas” tocadas, através do software compatível com o protocolo MIDI.
Constatou-se um bom funcionamento do protótipo, confirmando sua utilidade didática,
podendo ser acessório para contribuir no ensino musical de alunos iniciantes em aulas de
violão e guitarra, despertando o interesse pela música principalmente em crianças, que são
atraídas pelo aspecto de brinquedo que o controlador possui por se parecer com um controle
em forma de mini-guitarra do jogo mundialmente conhecido Guitar Hero.
O principal problema encontrado foi o fato de devido aos aspectos construtivos do
teclado de membrana, ser possível apenas fazer acordes na mesma casa, o que por outro lado
estimula o raciocínio e a agilidade do usuário, pois funciona normalmente para arpejos.
Outros problemas ocorreram como atraso nas atividades previstas devido à situação da saúde
pública na região de Passo Fundo, o atraso no recebimento do material necessário para a
confecção do protótipo o que impossibilitou a confecção do braço com botões pelo fato do
material vir errado por duas vezes seguidas após 2 meses de espera e o fato de ter que montar
e desmontar o protótipo diariamente na fase de testes “pré-placas” em protoboard, pois na sala
destinada aos projetos de graduação também ocorriam aulas e outros projetos.
Entre as possíveis melhorias futuras pode-se destacar a implementação de uma
alavanca virtual, confecção de um braço utilizando botões, alteração do tom das notas
musicais via firmware e criação de um software de jogo para interagir com o controlador.
63
REFERÊNCIAS BIBLIOGRÁFICAS [1] Série Harmônica. Disponível em: <http://pt.wikipedia.org/wiki/Série_harmônica_(música)>. Acesso em: 7 dezembro 2009. [2] Guitarra Elétrica. Disponível em: <http://pt.wikipedia.org/wiki/Guitarra_elétrica>. Acesso em: 7 dezembro 2009. [3] Guitarra. Disponível em: <http://pt.wikipedia.org/wiki/Guitarra>. Acesso em: 7 dezembro 2009. [4] Partitura. Disponível em: <http://pt.wikipedia.org/wiki/Partitura>. Acesso em: 31 dezembro 2009. [5] Tablatura. Disponível em: <http://pt.wikipedia.org/wiki/Tablatura>. Acesso em: 31 dezembro 2009. [6] Editor de Partitura. Disponível em: <http://pt.wikipedia.org/wiki/Editor_de_partitura>. Acesso em: 7 dezembro 2009.
[7] MIDI. Disponível em: <http://pt.wikipedia.org/wiki/MIDI>. Acesso em: 1 setembro 2009. [8] RATTON, Miguel. MIDI: o princípio de tudo. Disponível em: < http://www.erpires.com.br/Artigos_e_Tutoriais.html >. Acesso em: 9 setembro 2009. [9] COSTA, Marcelo. Solfeggiare – Um compilador para Partituras Musicais. Disponível em: < http://dsc.upe.br/~tcc/20061/MarceloCosta.pdf>. Acesso em: 10 setembro 2009.
[10] MIRANDA, José Carlos. Nova Eletrônica. Disponível em: < http://www.novaeletronica.net/q/n1/5_projetos/pag.11.html>. Acesso em: 2 setembro 2009. [11] Teclado de Membrana. Disponível em: <http://pt.wikipedia.org/wiki/Teclado_de_membrana>. Acesso em: 2 setembro 2009. [12] MTD Teclados de Membrana. O que é teclado de membrana. Disponível em: < http://www.mtd.ind.br/art_7.htm>. Acesso em: 2 setembro 2009. [13] LDR. Disponível em: <http://pt.wikipedia.org/wiki/LDR>. Acesso em: 20 novembro 2009. [14] DE SOUZA, Uilian Lucas; PEREIRA, Thiago Ramos. Fotodiodos e Fototransistores. Disponível em:< www.etb.com.br/professor/materialdeapoio/transistor.pdf>. Acesso em: 20 novembro 2009. [15] MESSIAS, Antônio Rogério. Controle remoto e aquisição de dados via XBee/ZigBee (IEEE 802.15.4). Disponível em: < http://www.rogercom.com/ZigBee/ZigBee.htm>. Acesso em: 29 setembro 2009. [16] XBee radios. Using XBees to create a wireless bi-directional MIDI link. Disponível em: < http://www.ladyada.net/make/xbee/midibee.html>. Acesso em: 9 outubro 2009.
64
ANEXO I – FIRMWARE DO CONTROLADOR //PROJETO DE GMCU_RADUAÇÃO JANEIRO 2010 - CONTROLADOR MIDI EM FORMA DE GUITARMCU_RA //ACADÊMICO: JULIO CHAGAS PITTHAN; ORIENTADOR: PAULO SÉRGIO CORRÊA MOLINA #include <18F4620.h> //Arquivo cabeçalho do PIC18F4620 #include <PIC18F4620_REgisters.h>//Arquivo cabeçalho com os REgistRAdoREs do PIC18F4620 #FUSES H4 //Oscilador de alta velocidade com multiplicador de clock 4X PLL habilitado #FUSES MCLR //Pino Master Clear habilitado (REset) #use delay(clock=40000000) //Clock para a função delay() //ENVIO DAS NOTAS E INTENSIDADES void ENVIA(int NOTA) //ROTINA DE ENVIO DAS MENSAGENS MIDI MCU_TXREG=0x90; //TXREG RECEBE O COMANDO NOTA PRESSIONADA = 0x90 while(!MCU_TXIF); //AGUARDA TX P/ TSR MCU_TXIF=0; //RESETA FLAG while(MCU_TRMT); //AGUARDA FIM DA TX MCU_TXREG=NOTA; //TXREG RECEBE A NOTA while(!MCU_TXIF); //AGUARDA TX P/ TSR MCU_TXIF=0; //RESETA FLAG while(MCU_TRMT); //AGUARDA FIM DA TX DELAY_US(350); //TEMPO MÍNIMO NECESSÁRIO PARA ENVIO CORRETO DAS MENSAGENS MIDI MCU_TXREG=127; //TXREG RECEBE A INTENSIDADE = 127 (MÁXIMA) while(!MCU_TXIF); //AGUARDA TX P/ TSR MCU_TXIF=0; //RESETA FLAG while(MCU_TRMT); //AGUARDA FIM DA TX VOID CORDA1(VOID)//CORDA 1 INT NOTA; //DECLARA VARIÁVEL NOTA //CORDA 1 IF((MCU_RC7==1)&&(MCU_RA5==0)) if(MCU_RD7==0&&MCU_RC7==1&&MCU_RA5==0) NOTA=84; //CASA 20 CORDA 1 NOTA 84 ELSE if(MCU_RD6==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1) NOTA=83; //CASA 19 CORDA 1 NOTA 83 ELSE if(MCU_RD5==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1) NOTA=82; //CASA 18 CORDA 1 NOTA 82 ELSE if(MCU_RD4==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1) NOTA=81; //CASA 17 CORDA 1 NOTA 81 ELSE if(MCU_RD3==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1) NOTA=80; //CASA 16 CORDA 1 NOTA 80 ELSE if(MCU_RD2==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1) NOTA=79; //CASA 15 CORDA 1 NOTA 79 ELSE if(MCU_RD1==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1) NOTA=78; //CASA 14 CORDA 1 NOTA 78 ELSE if(MCU_RD0==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1) NOTA=77; //CASA 13 CORDA 1 NOTA 77 ELSE if(MCU_RC5==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1) NOTA=76; //CASA 12 CORDA 1 NOTA 76 ELSE if(MCU_RC4==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1) NOTA=75; //CASA 11 CORDA 1 NOTA 75 ELSE if(MCU_RC3==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1) NOTA=74; //CASA 10 CORDA 1 NOTA 74 ELSE if(MCU_RC2==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1) NOTA=73; //CASA 9 CORDA 1 NOTA 73 ELSE if(MCU_RC1==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1) NOTA=72; //CASA 8 CORDA 1 NOTA 72 ELSE if(MCU_RC0==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1) NOTA=71; //CASA 7 CORDA 1 NOTA 71 ELSE if(MCU_RB7==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_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=70; //CASA 6 CORDA 1 NOTA 70 ELSE if(MCU_RB6==0&&MCU_RC7==1&&MCU_RA5==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_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=69; //CASA 5 CORDA 1 NOTA 69
65
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&&MCU_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&&MCU_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&&MCU_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&&MCU_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 VARIÁVEL 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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_RB4==1) NOTA=61; MCU_RB3=1;//CASA 2 CORDA 2 NOTA 61
66
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&&MCU_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 VARIÁVEL 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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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 VARIÁVEL NOTA //CORDA 4 IF((MCU_RE2==1)&&(MCU_RA2==0))
67
if(MCU_RD7==0&&MCU_RE2==1&&MCU_RA2==0) NOTA=70; //CASA 20 CORDA 4 NOTA 70 ELSE if(MCU_RD6==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1) NOTA=69; //CASA 19 CORDA 4 NOTA 69 ELSE if(MCU_RD5==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1) NOTA=68; //CASA 18 CORDA 4 NOTA 68 ELSE if(MCU_RD4==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1) NOTA=67; //CASA 17 CORDA 4 NOTA 67 ELSE if(MCU_RD3==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1) NOTA=66; //CASA 16 CORDA 4 NOTA 66 ELSE if(MCU_RD2==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1) NOTA=65; //CASA 15 CORDA 4 NOTA 65 ELSE if(MCU_RD1==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1) NOTA=64; //CASA 14 CORDA 4 NOTA 64 ELSE if(MCU_RD0==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1) NOTA=63; //CASA 13 CORDA 4 NOTA 63 ELSE if(MCU_RC5==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1) NOTA=62; //CASA 12 CORDA 4 NOTA 62 ELSE if(MCU_RC4==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1) NOTA=61; //CASA 11 CORDA 4 NOTA 61 ELSE if(MCU_RC3==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1) NOTA=60; //CASA 10 CORDA 4 NOTA 60 ELSE if(MCU_RC2==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1) NOTA=59; //CASA 9 CORDA 4 NOTA 59 ELSE if(MCU_RC1==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1) NOTA=58; //CASA 8 CORDA 4 NOTA 58 ELSE if(MCU_RC0==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1&&MCU_RC4==1&&MCU_RC3==1&&MCU_RC2==1&&MCU_RC1==1) NOTA=57; //CASA 7 CORDA 4 NOTA 57 ELSE if(MCU_RB7==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_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=56; //CASA 6 CORDA 4 NOTA 56 ELSE if(MCU_RB6==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_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=55; //CASA 5 CORDA 4 NOTA 55 ELSE if(MCU_RB5==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_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=54; //CASA 4 CORDA 4 NOTA 54 ELSE if(MCU_RB4==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1&&MCU_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=53; //CASA 3 CORDA 4 NOTA 53 ELSE if(MCU_RB3==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RC1==1&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&MCU_RB4==1) NOTA=52; MCU_RB3=1;//CASA 2 CORDA 4 NOTA 52 ELSE if(MCU_RB2==0&&MCU_RE2==1&&MCU_RA2==0&&MCU_RC0==1&&MCU_RB7==1&&MCU_RB6==1&&MCU_RB5==1&&MCU_RB4==1&&MCU_RB3==1) NOTA=51; MCU_RB2=1;//CASA 1 CORDA 4 NOTA 51 ELSE if((MCU_RE2==1)&&(MCU_RA2==1))NOTA=50; //CORDA 4 TOCADA NOTA 50 ENVIA(NOTA); NOTA=0XFF; // NOTA RECEBE O VALOR INICIAL 0XFF VOID CORDA5(VOID)//CORDA 5 INT NOTA; //DECLARA VARIÁVEL NOTA //CORDA 5 IF((MCU_RE1==1)&&(MCU_RA1==0)) if(MCU_RD7==0&&MCU_RE1==1&&MCU_RA1==0) NOTA=65; //CASA 20 CORDA 5 NOTA 65 ELSE if(MCU_RD6==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1) NOTA=64; //CASA 19 CORDA 5 NOTA 64 ELSE if(MCU_RD5==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1) NOTA=63; //CASA 18 CORDA 5 NOTA 63 ELSE if(MCU_RD4==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1) NOTA=62; //CASA 17 CORDA 5 NOTA 62 ELSE if(MCU_RD3==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1) NOTA=61; //CASA 16 CORDA 5 NOTA 61 ELSE if(MCU_RD2==0&&MCU_RE1==1&&MCU_RA1==0&&MCU_RD7==1&&MCU_RD6==1&&MCU_RD5==1&&MCU_RD4==1&&MCU_RD3==1) NOTA=60; //CASA 15 CORDA 5 NOTA 60
68
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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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 VARIÁVEL 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&&MCU_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&&MCU_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&&MCU_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&&MCU_RD2==1&&MCU_RD1==1&&MCU_RD0==1&&MCU_RC5==1) NOTA=51; //CASA 11 CORDA 6 NOTA 51
69
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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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&&MCU_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; //CONFIGURAÇÃO UART MCU_SYNC=0; //MODO ASSÍNCRONO 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; //TRANSMISSÃO EM 8 BITS MCU_RX9=0; //MCU_RECEPÇÃO EM 8 BITS MCU_TXEN=1; //ATIVA A TRANSMISSÃO DE DADOS MCU_CREN=1; //ATIVA A RECEPÇÃO DE DADOS NO MODO CONTÍNUO //CONFIGURAÇÃO DAS PORTS MCU_TRISA=0XFF;// 1 - ENTRADA MCU_TRISB=0XFF;// 1 - ENTRADA MCU_TRISC=0b10111111;// 0 - SAÍDA 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 CONTÍNUO 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();
70
ANEXO II – FOTOS DO CORPO E DO CONTROLADOR PRONTO