Rutina ARDUINO No.2 Tren de tonos con octava

La siguiente rutina permite usar Arduino como un generador de tonos de frecuencia ajustable, se emite un tono seguido de su octava más baja. El prototipo cuenta con LED de operación.

// TREN DE TONOS CON OCTAVA Y LED DE OPERACIÓN
// Este programa controla el sonido emitido usando la funcion tone, a partir de la lectura de un potenciometro, 
// conectando los extremos entre tierra y los 5V, y su pata central en el pin análogo A0 
// se controla la frecuencia de un tono, 0hz - 1024hz, seguido por otro tono con justo la mitad de la frecuencia del original
// un tren de pulsos que se emiten por un pequeño parlante conectado al pin digital 13 y a tierra.
// El parámetro temporal de la duración de cada pulso, y del tiempo entre pulsos y pulso se varía desde esta rutina.
// Adicionalmente un LED conectado al pin 12 titila con la emisión de cada pulso.
// sencilla rutina preparada para el proyecto FreeAudioLab- por Johan Bocanegra. https://freeaudiolab.wordpress.com

int sensorPin = A0;    // seleccione el pin para lectura del potenciometro
int soundPin = 13;      // seleccione el pin por el que se emiten los tonos
int ledPin = 12;        // seleccione el pin de conexión para el LED de operación
int sensorValue = 0;  // variablble para almacenar la lectura del potenciometro
int timer = 200;      // variable que controla la duración del pulso, milisegundos. 

void setup() {
  // declara los pines como SALIDAS:
  pinMode(soundPin, OUTPUT);  
  pinMode(ledPin, OUTPUT);    
}

void loop() {
  // Lee el valor del sensor:
  sensorValue = analogRead(sensorPin);    
  noTone(13);		
  digitalWrite(ledPin, HIGH);   // prende el LED
  tone(soundPin, sensorValue, timer); //emite un sonido con frecuencia ajustable desde la lectura del potenciometro, y duración igual al valor de timer
  tone(soundPin, sensorValue/2, timer); // emite un segundo sonido de la misma duración, con una frecuencia igual a la mitad del valor del sensor
 digitalWrite(ledPin, LOW); // apaga el LED 
  delay(timer);  // espera por un tiempo igual al valor del parámetro timer. 
}

2 comentarios en “Rutina ARDUINO No.2 Tren de tonos con octava

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s