Con la siguiente rutina se puede hacer un montaje muy simple de una fuente de trenes sonoros de ferecuencia ajustable desde un sensor usando la plataforma de Arduino.
// 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, 0hz - 1024hz, de 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. // sencilla rutina preparada para el proyecto FreeAudioLab- por Johan Bocanegra. int sensorPin = A0; // seleccciona por que pin se toma la lectura del potenciometro int soundPin = 13; // selecciona el pin por el que se genera el sonido int sensorValue = 0; // variable para almacenar el valor del sensor 0-1024 int timer = 200; // tiempo de duración de cada pulso, y entre pulso y pulso. void setup() { pinMode(soundPin, OUTPUT); // se declara el pin como salida para audio } void loop() { sensorValue = analogRead(sensorPin); // Lee el valor del sensor noTone(13); // apaga el sonido en el pin 13 tone(soundPin, sensorValue, timer); // toca una nota en el pin 13 for un tiempo igual al selecionado en el parámetro timer, con frecuencia igual al valor del sensor delay(timer); //espera un tiempo igual al parámetro timer }