Hay veces que necesitamos generar algún sonido en nuestros proyectos ya sea, para una indicación o advertencia o simplemente para informar un estado.
Con este proyecto ustedes pueden darle más vida a sus prototipos, hacerlos más amigables e interactivos.
Apoya a mi canal suscribiendote en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 muchos videos con código fuentes completos y diagramas.
Recuerden que el archivo tiene que ser .wav como se ve en la siguiente imagen
Tienen que ir a Archivo abrir buscan el archivo que desean convertir, luego propiedades, hacen click en “convertir ahora”, dejen en formato pcm, en atributos seleccionan 16,000 Khz; 8 bit, Stereo.
Hacen click en aceptar luego nuevamente en aceptar, se van a archivo y colocan guardar.
Recuerden que el nombre del archivo tiene que ser del tipo 8.3 osea 8 caracteres como máxima para el nombre del archivo y 3 como máximo para la extensión, si no, no les va a funcionar.
Código fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
//Video en youtube https://www.youtube.com/watch?v=hc0wBjrO2WY //Apoya mi canal suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 //Link del proyecto http://rogerbit.com/wprb/index.php/2015/12/19/audio-con-arduino/ //Únete en facebook en https://www.facebook.com/groups/RogerBit //Página del autor original http://www.hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio #include <SimpleSDAudio.h> //declaración de variables const int boton1 = 1; int buttonState1 = 0; const int boton2 = 2; int buttonState2 = 0; const int boton3 = 3; int buttonState3 = 0; const int boton5 = 5; int buttonState5 = 0; const int boton6 = 6; int buttonState6 = 0; const int boton7 = 7; int buttonState7 = 0; const int boton8 = 8; int buttonState8 = 0; void setup() { // SdPlay.setSDCSPin(10); // Habilitar SÓLO si su tarjeta SD no está en el pin número 4 SdPlay.init(SSDA_MODE_HALFRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER); //Setea los pines 1,2,3,5,6,7,8 como entratdas para los pulsadores pinMode(boton1, INPUT); pinMode(boton2, INPUT); pinMode(boton3, INPUT); pinMode(boton5, INPUT); pinMode(boton6, INPUT); pinMode(boton7, INPUT); pinMode(boton8, INPUT); } void loop(void) { //lee estado de los pulsadores por si alguno ha sido precionado buttonState1 = digitalRead(boton1); buttonState2 = digitalRead(boton2); buttonState3 = digitalRead(boton3); buttonState5 = digitalRead(boton5); buttonState6 = digitalRead(boton6); buttonState7 = digitalRead(boton7); buttonState8 = digitalRead(boton8); //si el pulsador 1 fue precionado if (buttonState1 == HIGH) { SdPlay.setFile("aa.wav");//con setFile vamos a cargar el archivo que queremos reproducir SdPlay.play(); // play reproduciomos el archivo } //si el pulsador 2 fue precionado if (buttonState2 == HIGH) { SdPlay.stop(); SdPlay.setFile("pre1.wav");//con setFile vamos a cargar el archivo que queremos reproducir SdPlay.play(); // play reproduciomos el archivo } if (buttonState3 == HIGH) { SdPlay.setFile("musica.wav"); SdPlay.play(); } if (buttonState5 == HIGH) { SdPlay.setFile("ad.wav"); SdPlay.play(); } if (buttonState6 == HIGH) { SdPlay.setFile("as.wav"); SdPlay.play(); } if (buttonState7 == HIGH) { SdPlay.setFile("ag.wav"); SdPlay.play(); } if (buttonState8 == HIGH) { SdPlay.setFile("desp3.wav"); SdPlay.play(); } } |
Descargar —> audiouno
Librería
Descargar —> SimpleSDAudio_V1.03
Circuito
Con lector micro SD externa
Más info en la página del autor de la librería http://www.hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio
Un link interesante es http://www.lumenvox.com/espanol/products/tts/#
Ahí ustedes pueden escribir un texto y este lo convierte en voz humana, bastante bueno es el mismo que utilicé para hacer el video y soporta varios idiomas y voces femeninas y masculinas, se los recomiendo.
Apoya a mi canal suscribiendote en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 muchos videos con código fuentes completos y diagramas.
[wysija_form id=”1″]
hola. en un rato voy a intentar este proyecto y todo es entendible salvo una cosa:
– ¿el parlante que usas de qué tamaño y potencia es? ¿es como de pc, de celular?
– ¿el parlante lo alimentas por el ping 9 o lo alimentas externamente y el ping 9 es la información del sonido?
Pues no me queda claro si debería probar esto con un parlante de esos como para pc de mesa o buscar un celular viejito y probar, sería bueno especifiques un poco qué parlantes se puede usar y cómo sería su cableado (en el diagrama parece que alimentas el parlante con arduino pero no creo que pueda darle la energía suficiente.
– finalmente, el tamaño y potencia del parlante afecta el tipo de capacitor a usar? si es así qué teoría debo buscar en internet para saber qué usar?
Gracias!!
Directamente lo alimentas del pin 9 pero debes poner un capacitor, el parlante es de 8 ohm sin amplificador sin nada, salvo que necesites más potencia saludos
Mooooy buen tuto y explicacion.. pff me hice fan tuyo viejo! Esperando nuevos tutoriales :) Muchas gracias.
La pagina esta esta mooooy buena
Habia leido por ahi que no eara bueno conectar directament eel parlante al arduino… creo que por un tema de potencia quet emrinaria quemando la placa…
No pasa nada para eso se le coloca un capacitor de va desde 10 a 100 microfaradios, saludos
Muchas gracias estimado se agrdece mucho, un abrazo
admin
tengo una duda
de donde se saca el audio para que hable el robot
si al momento de descargar el programa que pones en la
descripcion
solo tira otros documentos y no se puiede grabar
ayudameeeeeee
Hola, sale del pin número 9 del arduino tienes que colocar un capacitor electrolítico, de entre 10 a 100 microfaradios, saludos
con una consulta
COMO VA CONECTADO EL LECTOR DE MICRO SD AL ARDUINO PORQUE EN EL DIAGRAMA NO APARECE
GRACIAS
El lector que yo usé es un módulo ethernet que se coloca directamante sobre el arduino por lo que no es necesario saber que conexión usar, ya trae el lector sd incorporado, deberías decirme que lector sd estas usando
el arduino que estamos utilizando no trae incorporado el lector sd
por lo tanto estamos traando de utilizar un adaptador sd pero no sabemos como conectarlo
Ok publica un enlace de que tarjeta estas usando porque hay muchas y si pin out puede variar, de esa forma te diré la forma de conectarlo
como aparace en el facebook
https://www.google.com.gt/search?q=lector+micro+sd&espv=2&rlz=1C1PRFA_enGT683GT683&biw=1600&bih=769&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiwyM-6ppvNAhUD9R4KHUhJA2EQ_AUIBigB#tbm=isch&q=adaptador+micro+sd&imgrc=Vnl_gzdcZpx5OM%3A
Lo que veo en la foto sólo es la memoria micro sd, pero lo que te pregunto es el módulo sd que vas a conectar al arduino
https://www.google.com.gt/search?espv=2&rlz=1C1PRFA_enGT683GT683&biw=1600&bih=769&tbm=isch&sa=1&q=modulo+sd&oq=modulo+sd&gs_l=img.3..0l4j0i8i30j0i30l5.577427.584692.2.585197.8.8.0.0.0.0.316.1007.1j3j1j1.6.0….0…1c.1.64.img..2.6.1004.vuxWnabztMI&dpr=1&cad=cbv&bvch=u&sei=DJNZV8ScBsW9eNbCheAF#imgrc=LoDV8n2_K76scM%3A
este es
Ok si he tenido ese módulo es problematico, tendras que armar circuito con resistores http://www.extremadura-web.es/Blog/wp-content/uploads/2012/11/Esquema-Sd-arduino-mega2.jpg te agradezco si te puedes suscribir a mic anal de youtube, saludos
disculpa me interesa mucho saber como poner los arcivhos o donde irian en la micro sd o en la computadora en carpeta o soloa??
si puedieras resolver mi duda me ayudarias muchisimo, gracias
Hola como estas?, Se podría hacer el mismo proyecto pero sin SD Card osea guardarlo en arduino?, No entiendo mucho como funciona todavía y me gustaría saber si se lo puede agregar sin el lector es solamente dos audios diciendo algo nomas.
@martin-herrmann hola Martín, no lamentablemente no se puede, saludos
Saludos. Gracias por compartir su valioso conocimiento.
Respecto al reproductor de sonido, usando SD Card, te cuento. Implemente un sistema con arduino mega 2560, el cual utiliza 15 interrupciones, 6 int y resto, usando las pcint. El sistema funciona perfecto, pero apenas le instalé la librería de sonido, TMRpcm, la de spi y la de SD; en el momento de activar cualquiera de las interrupciones en un pin de entrada, aparece un rebote, imposible de eliminar. Y hasta se escucha en el altavoz, al presionar cualquier tecla. Segun creo, el temporizado de las librerías, afecta las interrupciones externas.
Existira alguna solucion.
Aun no he probado la librería SimpleSDAudio.h. Gracias por cualquier orientación.
@gerardo-martinez-gomez Hola no he probado esa librería, te recomiendo usar la que yo usé nunca he tenido, problemas, saludos
que tal, muy buenos videos, tengo una duda cees ques pueda ser lo mismo si cambio la lectora de sd por una dfplayer mini y asimeter los audios por .mp3 y no batallar con los archivos .wav ? de antemano muchas gracias
Hola @elephants-beltran este código no te va a servir ni la librería que usa con ese reproductor mp3, saludos
hola buenas tardes profe esto podría servir con el modulo MP3-TF-16P, agregándole la librería para ese modulo?