¿Cómo hacer un instrumento con el arduino

El Arduino le permite ir más allá de la reproducción de un sonido - crear su propio instrumento, similar al Theremin. los theremin, nombre de su inventor Léon Theremin, fue uno de los primeros instrumentos electrónicos, desarrollado en la década de 1920. Se trabajó mediante la detección del campo electromagnético de las manos del jugador para cambiar las señales: una parte para el volumen y el otro para el terreno de juego.

Video: Construcción de un Instrumento de Percusión (Parte 1)

El boceto PitchFollower

En este esquema, a averiguar cómo hacer un presupuesto Theremin utilizando un piezo como un sensor de luz para controlar el terreno de juego.

Necesitas:

  • Un Arduino Uno

  • Un tablero

  • Un piezo

  • Un sensor de luz

  • A 47k ohm resistor

  • cables de salto

Este circuito tiene dos mitades separadas, el piezo y el circuito sensor de luz. El piezo está cableado como en el boceto toneMelody, con un cable al pin digital 8 y la otra a GND.

El sensor de luz está conectado a analógico 0 en un lado y 5V en el otro- la resistencia de 4.7K está conectado entre analógica 0 y tierra.

Completar el circuito, y abrir el dibujo seleccionando Archivo → Ejemplos → 02.Digital → tonePitchFollower.

/ * Pitch followerPlays un terreno de juego que cambia según un inputcircuit analógico cambiante: * altavoz de 8 ohmios en el pin digital de 8 * fotorresistencia en analógica de 0 a 5V * 4.7K resistencia en analógica de 0 a 21 de Ene groundcreated 2010modified 9 Abr 2012by Tom IgoeThis ejemplo de código está en el domain.http pública: configuración //arduino.cc/en/Tutorial/Tone2*/void () {// inicializar comunicaciones en serie (para pruebas solamente): Serial.begin (9600) -} void loop () { // lee el sensor:int sensorReading = analogRead(A0) - // imprimir la lectura del sensor para que sepa su gamaSerial.println(SensorReading) - // Mapa del terreno de juego a la gama del análogo input.// cambiar el número mínimo y máximo de entrada por debajo // dependiendo del rango de entrega de su sensor:int thisPitch = mapa(SensorReading, 400, 1000, 100, 1000) - // juegan el terreno de juego:tono(8, thisPitch, 10) -retrasar(1) - // retraso en entre lee para la estabilidad}

Después de haber encontrado el boceto, pulse el botón Compile para comprobar el código. Los errores de sintaxis a su vez el cuadro de mensaje de color rojo cuando se descubren, y ves un mensaje de error que indica lo que está mal.

Video: Cómo hacer un robot esquiva obstáculos | Arduino

Si el boceto se compila correctamente, haga clic en Cargar para cargar el boceto de su tablero. Cuando se hace subir, usted debe tener un sensor de luz que va a cambiar el tono de su timbre. Si no se escucha ningún cambio, asegúrese de que se enciende una lámpara de escritorio de por encima de su tablero. Esto ayudará a aumentar la diferencia cuando se cubre el sensor de luz con la mano.

Si no ocurre nada, se debe a revisar su cableado:

  • Asegúrese de que está utilizando el número PIN correcto para las entradas y salidas.

  • Compruebe que el piezoeléctrico se activa de manera correcta. Los símbolos pueden estar ocultos en la parte inferior si no son visibles.

  • Compruebe las conexiones de la placa. Si los cables o componentes salto no se conectan utilizando las filas correctas en la placa, que no funcionarán.

El desglose boceto PitchFollower

Este bosquejo convierte directamente las lecturas del sensor de luz a una frecuencia en lugar de requerir una tabla de búsqueda. Esto significa que se puede deslizar entre las notas, así como elegir de forma individual.

En la configuración, el puerto serie se abre para permitir monitorizar las lecturas de los sensores a medida que llegan.

void setup () {// inicializar comunicaciones en serie (para pruebas solamente): Serial.begin (9600) -}

En el bucle principal, el sensor de luz se lee de pin analógico 0. Esta lectura también se reenvía sobre el monitor de serie.

Video: Proyecto Piano basico --- Arduino

void loop () {// leer el sensor:int sensorReading = analogRead(A0) - // imprimir la lectura del sensor para que sepa su gamaSerial.println(SensorReading) -

Para convertir el rango del sensor a la gama de frecuencias que el zumbador puede cubrir, se utiliza el mapa función.

 // mapear el terreno de juego a la gama del análogo input.// cambiar el número mínimo y máximo de entrada por debajo // dependiendo del rango de entrega de su sensor:int thisPitch = mapa(SensorReading, 400, 1000, 100, 1000) -

La función de tono a continuación da salida a la nota con el valor del sensor asignada y una duración muy corta de 10 milisegundos. Esta duración sirve para hacer el sonido audible, pero la duración real será determinada por el tiempo que mantenga su mano sobre el sensor, como se describió anteriormente.

 // reproducir el terreno de juego:tono(8, thisPitch, 10) -

Por último, un pequeño retraso se produce en el extremo del bucle para mejorar la estabilidad de las lecturas.

Video: ARDUINO MIDI CONTROLLER CUBASE

 retrasar(1) - // retraso en entre lee para la estabilidad}

Con esta configuración, se puede hacer rápidamente un controlador fácil y tal vez hasta formar una banda Theremin viajar con sus amigos.

Artículos Relacionados