Holass. Me desafié a mi mismo a armar una batería (me refiero al instrumento musical), con sensores piezoeléctricos, y que cuando el sensor mande las señales de una fuerza/vibración a arduino, reproducir el sonido correspondiente a cada sensor. Me explico mejor: Tengo tres sensores, uno para el platillo, otro para la tarola y otro para el bombo. entonces, (sabiendo en que pin esta conectado el sensor obvio) necesito que cuando toque el sensor correspondiente al bombo, suene el bombo desde la computadora con arduino conectado a esta. tengo los sonidos de los instrumentos de la batería (bombo, tarola, platillos) que duran c/u menos de 3 segundos, depende el instrumento, cosa de que al reproducir el sonido sea casi instantáneo. el problema es que no se como hacer las configuraciones necesarias para que funcione eso (lo de los sonidos en la pc).
Además, tiene que ser algo que soporte dos sonidos a la vez, ya que si toco el bombo y un platillo al mismo tiempo tienen que sonar los dos.
Alguien sabe que tengo que leer o buscar para aprender lo necesario para realizarme este proyecto?
Gracias de antemano, abrazo!
ya no es solo "configuración" el arduino tiene capacidad de comunicacion serial... recomiendo:
asignale un valor binario a cada sonido por ejemplo:
tambor_1 = B00001
tambor_2 = B00010
tambor_3 = B00100
platillo = B01000
bombo = B10000
entonces lees los inputs, creas una variable con el valor final y haces if
int valor_final=0;
if(input1==1) valor_final+=tambor_1;
if(input2==1) valor_final+=tambor_2;
if(input3==1) valor_final+=tambor_3;
if(input4==1) valor_final+=platillo;
if(input5==1) valor_final+=bombo ;
luego usas serial.print para imprimir por serial el valor_final
en tu pc, debes tener un programa que lea serial, y según el valor, reproduzca el sonido...
Gracias por responder engelx.
La verdad no tengo mucha idea de esto de electrónica y software, pero gracias a los foros e info de Internet me arreglo para aprender mas.
No se si entendí bien el concepto de tu recomendación. Osea vos decís que primero le de un valor binario a los sonidos individualmente, bien. Después que lea los inputs, ¿con eso queres decir que conecte los sensores a arduino, y esta a la cpu y lea los inputs de los sensores cuando reciben el golpeteo? Lo del variable con el valor final no lo entendí tampoco.. :S .. Vos pusiste:
if(input1==1) valor_final+=tambor_1;
que seria el valor final? input1 tengo que leerlo con read () aparte de todo, no?
Perdona mi ignorancia, soy medio torpe jaja!
abrazo
sorry ;) es que puse el codigo por encimita y lo resumí como un medio pseudocodigo... :P
input del 1 al 5 irian en el codigo como
if(digitalRead(pinN)==HIGH) valor_final+=instrumento;
pinN seria tu respectivo pin a leer... (claro el numero correcto para cada uno)
instrumento seria el valor asignado para cada instrumento (como tambor_1)
si, cada cierto tiempo (eso lo controlarás con un wait) lees las entradas a ver si hubo un golpe, la variable final la hice en binario por cosas de practicidad... pero perfectamente puedes hacer algo como
Serial.println("inicio ciclo");
if(digitalRead(pin1)==HIGH) Serial.println("pin1");
if(digitalRead(pin2)==HIGH) Serial.println("pin2");
//igual para los demás
Serial.println("fin ciclo");
y que el programa que lea la entrada serial haga sonar el instrumento cada vez