Вы находитесь на странице: 1из 3

Msica com Microcontroladores

lister Machado1 and Eduardo F. Vernier1


1
Universidade Federal do Rio Grande do Sul
Neste trabalho estudamos a possibilidade de usar microcontroladores para sintetizar formas arbi-
trrias de ondas.

I. INTRODUO ligarmos cada bit de entrada (1111), teremos a volta-


gem mxima do circuito, enquanto se desligarmos todos
Para este trabalho precisvamos de algum microcon- (0000), teremos a voltagem mnima do circuito. Tal pro-
trolador de fcil acesso e fcil programao. Por isso, priedade possibilita a gerao de 16 valores de voltagem,
escolhemos usar Arduino, uma plataforma em constante com os quais podemos gerar ondas de formatos arbitr-
popularizao devido ao fato de que muito simples rios.
program-la, pois usa uma linguagem semelhante lin- Entretanto, notamos um problema com nossa sada.
guagem C. O projeto baseado em um circuito Conversor Na Figura 2, por exemplo, podemos ver picos no qual a
Digital-Analgico, o qual permite que criemos vrias for- voltagem chega bruscamente a zero, eles ocorrem devido
mas de onda simplesmente especificando as amplitudes ao tempo que o microcontrolador leva para ligar/desligar
de cada ponto. uma sada digital. Para resolver tal problema, adicio-
namos ao circuito um capacitor ligado em paralelo com
a sada, desse modo, o componente age como um filtro
II. A PLATAFORMA passa-baixas e elimina essas voltagens discrepantes, tor-
nando as ondas mais fiis e agradveis ao ouvido.
Arduino um microcontrolador baseado em um chip
Atmega que possui vrias caractersticas interessantes.
As que chamaram nossa ateno, principalmente, foram
a facilidade do uso de entrada e sada, alm da facilidade
de programao. A linguagem em si prov abstraes
muito simples dos recursos de E/S da placa, como por
exemplo simplesmente declarar o que cada pino dela ser
(input/output) alm de realizar escritas/leituras digitais
(HIGH ou LOW ) e analgicas em suas portas.

III. O CDIGO Figura 1. Circuito Resistor Ladder sem capacitor

O cdigo razoavelmente simples, e envolve basica-


mente definir quais pinos estaro ligados a quais botes
e, portanto, quais notas eles representaro alm de
definir o vetor auxiliar para a gerao de alguma onda
que necessite deste recurso e das funes que geram on-
das predefinidas (quadrada, dente de serra, triangular e
senoidal).

Figura 2. Onda dente de serra sem o capacitor


IV. O CIRCUITO

Existem vrias configuraes de conversores digital-


analgico. A implementao mais simples e intuitiva
atravs de uma resistor ladder R-2R. Devido aos conhe- V. INTERAO COM O USURIO
cimentos limitados em eletrnica e aos componentes
nossa disposio, decidimos implementar tal circuito (Fi- O circuito implementa uma oitava porm, h a pos-
gura 1). sibilidade de isto ser aumentado futuramente atravs
Nota-se na Figura 1 que as entradas so definidas de 12 botes, um para cada nota da escala. Alm disso,
de bit mais significativo (MSB) a bit menos significativo h um seletor direita dos botes que seleciona o for-
(LSB). Tal nomeclatura deve-se relao entre voltagem mato de onda desejado. Da chave 0 at a 3, temos as
saindo do circuito e a interpretao do conjunto de en- seguintes ondas: quadrada, dente de serra, uma onda di-
tradas que a gerou como um nmero binrio. Logo, se ferenciada que surgiu ao tentarmos criar um seno e, por
2

fim, um seno. Esta onda diferenciada tem um som met- computada a funo f (x) = 8 sin( 2x
32 )+8, (x < 32) N
lico muito interessante, e seu formato muito diferente, para cada uma das 32 posies do vetor, sendo que estes
embora lembre um seno com frequncia varivel. valores foram aproximados por truncamento. Foi esco-
lhida esta funo pois precisvamos que os valores osci-
lassem entre 16 e 0 para podermos convert-los em valores
VI. ONDAS GERADAS de 4 bits.

Com este circuito e o cdigo que escrevemos conse-


guimos gerar ondas de formatos arbitrrios. Como j
descrito, basta um vetor com as intensidades para cada
instante de tempo da onda que conseguiremos uma apro-
ximao razovel para ela. As principais esto citadas
abaixo.
Figura 5. Onda senoidal gerada pelo circuito

A. Onda Quadrada

Este tipo de onda gerado muito facilmente: basta D. Onda Dente de Serra
ligar todos os bits de entrada, mant-los ligados por al-
gum tempo e depois desligar todos eles por algum tempo. A gerao da onda Dente de Serra assemelha-se muito
importante notar que, assim como para os outros for- a da Onda Triangular, pois nesta devemos incrementar os
matos de onda, este tempo no qual os bits ficam liga- bits da entrada em 1 at que atinjam o mximo, porm
dos/desligados determina a frequncia da onda. ao invs de decrement-los at atingir zero, simplesmente
zeramos todos eles.

Figura 3. Onda quadrada gerada pelo circuito


Figura 6. Onda dente de serra gerada pelo circuito

B. Onda Triangular
E. Onda Atpica

Para gerar esta onda, basta incrementar os bits da


entrada em 1 at que atinjam o mximo (1111), de- Esta onda que surgiu por acaso nos chamou a aten-
pois decrement-los at que atinjam zero novamente. O o devido ao seu som, que diferencia-se dos outros
tempo entre os incrementos/decrementos determina a gerados. Seu timbre metlico e formato "fora do pa-
frequncia da onda. dro"despertaram nosso interesse. A onda em questo
a da Figura 7.

Figura 4. Onda triangular gerada pelo circuito Figura 7. Onda atpica gerada pelo circuito

C. Onda Senoidal VII. RESULTADOS OBTIDOS

Para esta onda foi necessrio usar um vetor auxiliar Alguns dos resultados obtidos foram muito interessan-
com as intensidades que gostaramos que a onda reprodu- tes. Alm de conseguirmos gerar ondas parametrizadas,
zisse a cada instante de tempo. Para gerar este vetor foi outras coisas aconteceram. Ao selecionar mais de uma
3

onda no seletor de forma da onda, as duas so tocadas ondas com complexidade maior, alm de testar outros
uma aps a outra, misturando-se e produzindo um som tipos de DAC. Utilizando sadas PWM do microcontro-
muito diferente (Figura 8). Alm disso, ao tocarmos lador e construindo um filtro passa-baixas devemos con-
duas notas juntas, h um efeito similar ao de batimento, seguir um resultado bastante interessante como o mos-
j que a frequncia que est sendo tocada muda muito trado na Figura 9. Planejamos tambm dar ao usurio
rapidamente de uma para outra. Tambm podemos ligar a possibilidade de moldar suas ondas enquanto toca o ins-
algum equipamento como um pedal de efeito sada do trumento, podendo atravs de potencimetros modificar
circuito, possibilitando assim que exploremos outros ti- a voltagem da onda em qualquer parte de seu perodo,
pos de som modificando a onda produzida pelo circuito. tornando o projeto mais parecido com sintetizadores co-
merciais. Atualmente, estamos estudando a possibilidade
de incluir envelope ADSR ao projeto.

Figura 8. Onda obtida com a mistura de Dente de Serra e


Quadrada

VIII. PROJETOS FUTUROS

Para um futuro prximo, cogitamos a possibilidade de


gerar no somente uma oitava, mas vrias, atravs de bo-
tes que troquem a oitava a ser tocada. Consideramos
tambm aumentar o nmero de bits de entrada no cir-
cuito, conseguiramos, ento, representar mais fielmente Figura 9. Filtro passa baixas atuando sobre PWM

Вам также может понравиться