Haga un Theremin de tamaño de bolsillo con ESP32: 5 pasos (con fotos)

Haga un Theremin de tamaño de bolsillo con ESP32: 5 pasos (con fotos)

Tabla de contenido:

Anonim

Theremin son aquellos instrumentos únicos que se utilizan para hacer que esas canciones o temas de efectos de sonido de espectáculos alienígenas. Es posible que también lo hayas escuchado en Star Trek, en la teoría de Big Bang o incluso en una casa encantada. Ellos produjeron un sonido único a partir de los efectos electromagnéticos entre los cables.

Aquí duplicaremos digitalmente un sonido similar utilizando un zumbador controlado por Modulaciones de Ancho de Pulso y una Resistencia Dependiente de la Luz (LDR) para la entrada de valores de lectura a medida que la mano se mueve sobre él.

Suministros:

Paso 1: BoM

* ESP32

* Resistencia Dependiente de la Luz (LDR)

* Zumbador

* Cables de puente

* Breadboard

Paso 2: Soldadura

Soldaremos un divisor de voltaje en el LDR para simplificar el cableado.

* Tome una resistencia de 10kΩ y suéldela a uno de los pines del LDR.

* Luego tome dos cables de diferentes colores y soldarlo a cada pin del LDR.

¡Eso es! Ahora tienes un divisor de voltaje!

Paso 3: Cableado

Siga la siguiente tabla cuando conecte el LDR y el zumbador al ESP32:

I / O Alfiler # ESP32 Pin #
Zumbador* 1 D4
Zumbador* 2 GND
LDR Resistor D5
LDR Gris 3.3V
LDR rojo GND

* La orden es arbitraria

Paso 4: Código

int photopin = 5; // Pin donde la resistencia foto está conectada a

int photValue; // La lectura analógica del fotorresistor.

int buzzerPin = 4; // Conectar el zumbador al pin 4

largo buzzerFreq; // La frecuencia para zumbar el zumbador.

// Puedes experimentar con estos valores: long buzzMAX = 2500; // Frecuencia máxima para el zumbador

photoMAX largo = 1023; // Valor máximo para el fotorresistor

void setup () {pinMode (buzzerPin, OUTPUT); // establecer un pin para la salida del zumbador

}

void loop () {// lee los valores del potenciómetro photValue = analogRead (photopin); // Valores 0-1023

// normalizar las lecturas de un fotorresistor a la del zumbador y el zumbador del fotorresistorFreq = (photValue * buzzMAX) / photoMAX;

buzz (buzzerPin, buzzerFreq, 10);

}

buzz vacío (int targetPin, frecuencia larga, longitud larga) {

valor de retardo largo = 1000000 / frecuencia / 2;

números largos = frecuencia * longitud / 1000;

para (long i = 0; i <numCycles; i ++) {

digitalWrite (targetPin, HIGH);

delayMicroseconds (delayValue);

digitalWrite (targetPin, LOW);

delayMicroseconds (delayValue);

}

}

Paso 5: ¡Disfruta!

Es fácil de usar, pero lleva toda una vida dominar y tocar buena música. Mueva sus manos sobre el LDR para cambiar el tono.

¡Disfruta de tu bolsillo de bolsillo!