2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O Ultrasonic Theremin é um projeto do Arduino que usa um theremin barato para ensinar ondas sonoras. Ao alterar a distância da minha mão ao dispositivo, estou alterando a frequência das ondas sonoras. Além disso, mover um potenciômetro altera a amplitude da onda. Isso pode ser usado como uma lição de ciências sobre ondas sonoras.
Etapa 1: Ferramentas e suprimentos
Suprimentos
- Arduino Uno com cabo USB
- Sensor ultrassônico para alterar a frequência (tom)
- Piezo Buzzer para tocar o som
- Potenciômetro para alterar a amplitude (volume)
- LED com resistor 220ohm (visual para a frequência)
- Foamcore Board para o caso
- Jumper Wires
NOTA: A maioria dessas peças veio de um kit Arduino.
Ferramentas
- Computador com Arduino instalado
- Pistola de cola quente
- Cortador a laser para gabinete
- Power Bank se você quiser torná-lo portátil
Etapa 2: Montagem
A Eletrônica
As duas primeiras imagens, à direita, mostram a eletrônica em teste, mas na terceira, movi os componentes ao redor para acomodar o gabinete. O LED e o sensor ultrassônico usam fios de jumper de 40 cm de macho para fêmea, que podem ser menores, mas era o que eu tinha em mãos. Acabei de enrolar o excesso em torno do Arduino antes de revesti-lo.
O caso
O case foi feito pela MakerCase com dimensões um pouco pequenas, então meu protótipo exigiu cola extra para juntá-lo. Depois de medir suas peças em seu Arduino, adicione alguns milímetros aos seus valores e insira-os no MakerCase para um arquivo que pode ser cortado a laser no núcleo de espuma.
Etapa 3: O Código
O código é controlado principalmente por uma variável chamada pitch. O pitch usa o mapa para converter os valores do sensor ultrassônico para algo legível pelo alto-falante piezoelétrico e, em particular, para frequências entre A3 e C5. A restrição garante que o mapa não preveja uma alta frequência ao ver uma grande distância (eram irritantes). O resto do código é para ler o sensor, adicionar um LED e adicionar mensagens seriais.
pitch = restrição (mapa (distanceCm, 1, 40, 256, 523), 220, 523);