Neste projeto, vamos recriar esse conceito de forma acessível e moderna, usando uma placa Leonardo Pro Micro e dois sensores ultrassônicos HC-SR04 no lugar das antenas originais. O resultado é um Theremin Ultrassônico com Arduino funcional, montado em uma case compacta em formato de cubo, com controle de frequência, duração, efeito e intervalo entre as notas.
Se você nunca ouviu falar de um Theremin, prepare-se para conhecer um dos instrumentos mais fascinantes da história da música. Criado em 1920 pelo físico russo Leon Theremin, ele é tocado sem nenhum contato físico: o músico move as mãos no ar, e o instrumento responde com sons que variam de frequência e volume. Uma experiência que parece mágica, mas é pura física e eletrônica.
É um projeto que combina eletrônica, programação e criatividade musical em uma única montagem. Ideal para quem quer ir além dos projetos convencionais e explorar o lado mais artístico do universo maker.
Vamos montar?
Materiais necessários
Para montar o Theremin Ultrassônico, você vai precisar dos seguintes componentes:
- Placa Leonardo Pro Micro
- Sensor de Distância Ultrassônico HC-SR04 (02 unidades)
- Mini Alto-falante 3W 4Ω
- Potenciômetro Linear 100kΩ
- Módulo Amplificador de Áudio LM386
- Fonte DC Chaveada 5V 2A Micro USB
- Jumpers Fêmea-Fêmea
- Tubo Termo Retrátil φ2,0 mm
- Tubo Termo Retrátil φ3,0 mm
- Case em MDF
Além dos componentes acima, você vai precisar de:
- Cabo de dados Micro USB
- Ferro de solda
- Estanho para solda
- Alicate de corte
- Chave Phillips
- Cola quente
- Cola instantânea
Configuração da Arduino IDE
Antes de começar a montagem física, vamos preparar a Arduino IDE e carregar o código na placa.
Na IDE, vá em Ferramentas > Placas > Arduino AVR Boards e selecione Arduino Micro.
Em seguida, conecte a placa Pro Micro ao computador usando o cabo Micro USB e selecione a porta correspondente em Ferramentas > Porta.
Cole o código abaixo na IDE e clique em Carregar.
Theremin Ultrassônico com Arduino: Código completo
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
// Theremin Ultrassônico com Arduino // Autor: MakerHero // Define em quais pinos os componentes estão ligados na Pro Micro #define som 3 #define echo1 5 #define trig1 6 #define echo2 9 #define trig2 10 #define potFx A0 #define potLoop A1 // Define as variáveis utilizadas no código int ciclo = 0; int distValue1 = 30; int distValue2 = 30; int pitchval = 1; int steps[] = {100, 120, 140, 160, 180, 200, 220, 240}; int tempo; long time; byte i = 0; //----------SETUP---------- void setup(){ // Define a velocidade da comunicação serial Serial.begin(9600); // Define os pinos como entradas ou saídas pinMode(som, OUTPUT); pinMode(trig1, OUTPUT); pinMode(echo1, INPUT); pinMode(trig2, OUTPUT); pinMode(echo2, INPUT); } //----------LOOP---------- void loop(){ // Realiza a leitura dos sensores ultrassônicos le_sensores(); // Faz a leitura dos dois potenciômetros para definir o efeito sonoro e o intervalo entre as notas if(millis() - time > tempo){ tempo = analogRead(potLoop) / 8; freqout (steps[i] + distValue2, distValue1); i++; if(i >= 8){ i = 0; } time = millis(); } } // Descreve a função que faz a leitura dos sensores void le_sensores(){ // Sensor 1 double distancia1 = 0; digitalWrite(trig1, HIGH); // Dispara um pulso sonoro delayMicroseconds(10); // Espera 10 microssegundos digitalWrite(trig1, LOW); // Desliga pulso distancia1 = pulseIn(echo1, HIGH, 15000); // Mede o tempo de retorno do pulso distancia1 = distancia1 / 58; // Fórmula simplificada distValue1 = distancia1; // Sensor 2 double distancia2 = 0; digitalWrite(trig2, HIGH); // Dispara um pulso sonoro delayMicroseconds(10); // Espera 10 microssegundos digitalWrite(trig2, LOW); // Desliga pulso distancia2 = pulseIn(echo2, HIGH, 15000); // Mede o tempo de retorno do pulso distancia2 = distancia2 / 58; // Fórmula simplificada distValue2 = distancia2; // Imprime a leitura dos dois sensores no monitor serial Serial.print("Distancia 1 = "); Serial.print(distValue1); Serial.print(" Distancia 2 = "); Serial.println(distValue2); } // Descreve a função que define o intervalo entre as notas void freqout(int freq, int t){ int hperiod; long cycles, j; pitchval = map(analogRead(potFx), 0, 1023, 1, 5); hperiod = (500000 / ((freq - 7) * pitchval)); cycles = ((long)freq * (long)t) / 1000; for (j = 0; j <= cycles; j++){ digitalWrite(som, HIGH); delayMicroseconds(hperiod); digitalWrite(som, LOW); delayMicroseconds(hperiod - 1); } } |
Theremin Ultrassônico com Arduino: Preparação dos jumpers
Antes de começar as conexões, vamos preparar os jumpers. Separe 4 vermelhos, 4 pretos, 2 amarelos, 1 cinza, 1 laranja, 1 verde, 1 roxo e 1 azul.
Jumpers vermelhos (alimentação dos potenciômetros e alto-falante):
Corte os quatro jumpers vermelhos na metade e descarte uma metade de cada um. Das quatro metades restantes, corte o conector de três delas. Desencape e estanhe todas as pontas.
Pegue três metades com conector e duas sem conector e solde-as lado a lado. Em seguida, pegue a metade com conector restante, passe um tubo termo retrátil de 3 mm por ela e solde a ponta no lado oposto do conjunto. Posicione o tubo sobre a solda e esquente com o ferro para fazer o acabamento.
Passe um tubo termo retrátil de 2 mm por um dos jumpers sem conector do conjunto e solde a ponta em um dos terminais da extremidade de um dos potenciômetros. Isole a solda com o termo retrátil. Repita o processo para o segundo potenciômetro.
Com a metade de jumper vermelho sem conector restante, solde no terminal positivo do mini alto-falante, identificado pelo sinal “+”. Isole com termo retrátil de 3 mm.
Jumpers pretos (GND dos potenciômetros e alto-falante):
Corte três jumpers pretos na metade. Das seis metades, corte o conector de três delas. Desencape e estanhe todas as pontas.
Pegue duas metades com conector e duas sem conector e solde-as lado a lado. Em seguida, pegue a metade com conector restante, passe um tubo termo retrátil de 3 mm por ela e solde a ponta no lado oposto do conjunto. Faça o acabamento com o ferro.
Passe um tubo termo retrátil de 2 mm por um dos jumpers sem conector do conjunto e solde a ponta no outro terminal da extremidade de um dos potenciômetros. Isole com o termo retrátil. Repita o processo para o segundo potenciômetro.
Com a metade de jumper preto sem conector restante, solde no terminal negativo do mini alto-falante, identificado pelo sinal “-“. Isole com termo retrátil de 3 mm.
Jumpers azul e roxo (sinal dos potenciômetros):
Pegue os jumpers azul e roxo e corte o conector de um dos lados de cada um. Desencape e estanhe as pontas cortadas. Passe um tubo termo retrátil de 2 mm por cada um deles.
Solde o jumper azul no terminal central de um dos potenciômetros e o roxo no terminal central do outro. Faça o acabamento dos tubos termo retráteis com o ferro.
Barras de pinos na Pro Micro:
Por fim, solde as duas barras de pinos na placa Pro Micro. Para facilitar o processo, você pode usar uma protoboard para segurar a placa durante a soldagem.
Theremin Ultrassônico com Arduino: Conexão dos componentes
Com os jumpers preparados, vamos fazer todas as conexões com a placa Leonardo Pro Micro seguindo a tabela abaixo:
Importante! Para conectar o alto-falante ao módulo amplificador, passe os fios do mini alto-falante pelo anel de MDF antes de fazer as conexões. Ele será usado para fixar o alto-falante na case. Afrouxe os parafusos do borne do módulo amplificador com uma chave Phillips, encaixe o jumper preto no terminal GND e o vermelho no terminal OUT e aperte os parafusos novamente.
Dica: Antes de montar a case, ligue o dispositivo usando a fonte Micro USB para testar se todas as conexões estão corretas. Para ajustar o volume, use a chave Phillips no potenciômetro do módulo amplificador.
Theremin Ultrassônico com Arduino: Montagem da case
A case tem o formato de um cubo com as faces numeradas de 1 a 5, mais a peça base. Há também peças identificadas por letras que servem para fixar os componentes. Siga a ordem abaixo para montar tudo corretamente.
Preparação das peças:
Cole a peça “A” na peça “B” com cola instantânea, alinhando as extremidades. Em seguida, cole esse conjunto na peça base usando o retângulo demarcado como guia, com a abertura da peça “A” direcionada para a extremidade da base.
Na peça “3”, cole o anel “E” centralizando com a abertura, seguindo o círculo demarcado como guia.
Cole uma das peças “C” na peça “2” e a outra peça “C” na peça “5”, usando as demarcações como guia em ambos os casos.
Fixação dos componentes:
Encaixe o alto-falante no anel colado à peça “3”. Para travá-lo, cole o anel “D” centralizando com o anel “E” já fixado, prendendo o alto-falante entre os dois anéis.
Na peça “2”, fixe o sensor ultrassônico com jumpers amarelo e verde e o potenciômetro com jumper azul. Na peça “5”, fixe o sensor ultrassônico com jumpers cinza e laranja e o potenciômetro com jumper roxo.
Para fixar cada potenciômetro, use a arruela e a porca que o acompanham. Para fixar cada sensor ultrassônico, posicione-o nas duas aberturas da face com os pinos direcionados para o mesmo lado do recorte da peça “C” e cole com cola quente.
Encaixe os knobs de acabamento nos potenciômetros.
Fixação da eletrônica na base:
Cole a placa Pro Micro com cola quente no conjunto das peças “A” e “B” da base, deixando a entrada USB voltada para a extremidade da peça. Em seguida, cole o módulo amplificador na base, próximo à placa.
Fechamento do cubo:
Monte a lateral do cubo encaixando as peças “1”, “2”, “3” e “4” em sentido anti-horário. Use cola se necessário. Encaixe o conjunto na base usando os números gravados como referência de posicionamento. Por fim, feche o cubo encaixando a peça “5”.
Como funciona o Theremin Ultrassônico
Com o projeto montado, ligue o dispositivo conectando a fonte Micro USB na tomada e na placa. Agora é hora de explorar os controles!
O Theremin Ultrassônico possui quatro controles independentes, cada um responsável por uma característica diferente do som:
Para tocar, basta aproximar e afastar as mãos dos sensores ultrassônicos. Quanto mais perto a mão estiver do sensor superior, maior será a frequência do som gerado. O sensor lateral, por sua vez, controla por quanto tempo cada nota é sustentada.
Os potenciômetros complementam a experiência: o superior adiciona efeitos ao som e o lateral define o intervalo entre as notas, permitindo criar desde sequências rápidas e frenéticas até melodias mais lentas e espaçadas.
Combinando os quatro controles, é possível criar uma infinidade de sons e sequências diferentes. Explore bastante e descubra as possibilidades do seu instrumento!
Conclusão
E então, gostou do projeto? Com uma placa Leonardo Pro Micro, dois sensores ultrassônicos e alguns componentes eletrônicos, você acabou de construir um instrumento musical funcional do zero, algo que poucos podem dizer que fizeram!
O Theremin Ultrassônico com Arduino é um ótimo exemplo de como a eletrônica e a programação podem se encontrar com a criatividade e a arte. Mas o projeto não precisa parar por aqui. Algumas ideias para explorar a partir daqui:
- Adicionar mais sensores para controlar outros parâmetros do som
- Experimentar diferentes escalas musicais no código, substituindo os valores do array steps[]
- Integrar uma fita de LEDs que reaja ao som gerado, criando um efeito visual sincronizado
- Criar uma case personalizada com impressão 3D
Compartilhe o resultado nas redes sociais e marque a MakerHero no Instagram, adoramos ver os projetos de vocês!




