Noticias|Artículos|Figuras Exclusivas|Enlaces|belenismo.net

Buscar | Estadísticas | Listado de usuarios Foros | Calendarios | Álbumes | Skins
Foro de Belenismo

¿Quieres anunciarte aquí? - contacta con nosotros

Has entrado como invitado. ( Entra | regístrate )

Control de un Belén mediante Arduino

Páginas: 1 2 3 4 5 6
 

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Hola, ya siento que no te funcione como debe.

Una cosa que me llama la atención es que hablas de "altavoces", en plural. No sé si puede afectar, pero únicamente admite un altavoz (máx. 3w) conectado a los pines SPK1 y SPK2 del DFPlayer Mini. Hay posibilidad de conectar 2 altavoces, pero es otro esquema.

La tarjeta SD tiene que ser como máximo de 32G, con lo que esto no es un problema. La alimentación del DFPlayer es mejor que sea de una fuente de alimentación externa, de 5v y 1A, conectando siempre GND con GND de Arduino.

Por confirmar las conexiones, mando esquema.

Ya informarás. Un saludo.

 



Modificado por laucsada 30/1/2022 12:56




Adjuntos
----------------
Adjuntos Esquema.jpg (27KB - 22 descargas)
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Hola Laucsada, muchas gracias por el interés que pones en ayudarme. La instalación la tengo realizada tal y como figura en el esquema que me mandaste, pero sigue sin funcionar. Por lo que me has dicho del altavoz, puede que sea por eso por lo que no funciona y me gustaría que me dijeses cual es el usas tú. Por otra parte también me gustaría que me indicases si el DFPlayer Mini, cuando esta conectado a la corriente tiene algún diodo encendido (el que esta en la parte posterior del conector de la tarjeta, que creo que es un diodo), porque en el mío no se enciende nada y, tal vez, sea porque está estropeado. Solo por ir descartando posibles averías o errores en la instalación del mismo.

Saludos

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Hola, me sabe mal que no consigas que te funcione el reproductor.

Respecto a lo que me preguntas, el altavoz que yo utilizo es de 4 ohm y 3 w. Es muy pequeño, mide unos 35 x 20 mm. Son bastante baratos.

El reproductor tiene un diodo color azul que se enciende solo cuando está reproduciendo, no cuando recibe la corriente, y está, como dices, en la parte posterior del compartimento de la tarjeta, en medio de la placa.

La reproducción del primer archivo puede demorarse unos segundos (tiene que iniciar el reproductor).

¿Cuando haces las pruebas, activas el monitor serial?

El scketch tiene varios envíos de comentarios según va transcurriendo la programación:

1 .- Si el reproductor no se ha iniciado (en este caso se pausa para darle tiempo);

2 .- Si el reproductor está listo;

3 .- Si se ha enviado la orden de reproducir.

Esto te puede ayudar a localizar donde falla.

Espero tus comentarios.

Un saludo.

 

minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Buenos dias, Laucsada:

Por fin he dado con la solución. Tras mucho trastear, seguir tus indicaciones y mirar por internet resulta que, fue cambiar la tarjeta SD, por una de 16Gb y, voilá, empezó a funcionar. No me digas el motivo, pero el caso es que resultó. También he de decirte que, cuando cambié la tarjeta de memoria y usando tu scketch de música 22-SONIDO-DFPLAYER-BUCLE, seguía sin funcionarme pero. buscando en la red y descargando uno de los múltiples programas que existen para usar con el DFPlayer, si me funcionaba, por lo que me hacia pensar que el sketch que habías mandado tenia que tener algún error.

Me puse a comprobar los dos sketch, el tuyo y el que me baje de internet y fue cuando me di cuenta que, en el tuyo, faltaban por definir, tanto los pines de conexión como todo lo que hay que meter en Void Loop (), claro como me iba a funcionar. El caso es que, cortando parte del código del que me bajé y parte del tuyo que en su dia subiste como "MAESTRO" (el que usas actualmente con los dos ESCLAVOS), hice, que por fin, saliese el sonido por mis altavoces (dos pequeños de ordenador que se alimentan por USB). Ahora me toca pulir el código (lo hago mediante prueba y error) para que los sonidos se reproduzcan en el mismo orden que tengo asignados, porque observo que se ejecutan un poco aleatoriamente. Pero bueno, de momento conseguí que funcionase el sonido que era, de momento, lo mas importante. Aunque ahora me toca lo mas difícil, intentar meter el sonido en cada una de las fases de la iluminación.


Incorporo el sckecth que realicé para las pruebas por si quieres echarle un vistazo y modificar o corregir algo que veas que puede estar mal, ya que como comenté, yo lo hago a la antigua (prueba-error) aunque espero ir cogiendo, poco a poco, soltura con la programación





Anexo sckecth:

Pruebas_SONIDO_DFPLAYER_BUCLE.ino



Adjuntos
----------------
Adjuntos Pruebas_SONIDO_DFPLAYER_BUCLE.ino (2KB - 31 descargas)
Adjuntos Pruebas_SONIDO_DFPLAYER_BUCLE.ino (2KB - 16 descargas)
A laucsada le gusta esto.
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Por error envie el fichero duplicado.
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Por cierto, he descubierto porque el reproductor reproduce la música un poco aleatoriamente. Cuando traspases la música a la tarjeta SD, y le cambias el nombre por 0001, 0002, etc, a cada fichero, el reproductor no tiene en cuenta esa numeración, tiene en cuenta el orden en que lo has copiado a la tarjeta, es decir, el fichero que nombraste como 0007, pudo haber sido el que copiaste el primero a la tarjeta, por lo tanto, cuando intentes reproducir el fichero que nombraste como 0001, estarás oyendo el que nombraste como 0007. Por eso es importante, hacer el cambio del nombre de ficheros en el ordenador y, una vez cambiados, pasarlos a la tarjeta en el mismo orden para que coincida el numero que le asignaste con el orden en que lo copiaste en la tarjeta.
A laucsada le gusta esto.

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona
minin - 1/2/2022 10:08 Buenos dias, Laucsada: Por fin he dado con la solución. Tras mucho trastear, seguir tus indicaciones y mirar por internet resulta que, fue cambiar la tarjeta SD, por una de 16Gb y, voilá, empezó a funcionar. No me digas el motivo, pero el caso es que resultó. También he de decirte que, cuando cambié la tarjeta de memoria y usando tu scketch de música 22-SONIDO-DFPLAYER-BUCLE, seguía sin funcionarme pero. buscando en la red y descargando uno de los múltiples programas que existen para usar con el DFPlayer, si me funcionaba, por lo que me hacia pensar que el sketch que habías mandado tenia que tener algún error. Me puse a comprobar los dos sketch, el tuyo y el que me baje de internet y fue cuando me di cuenta que, en el tuyo, faltaban por definir, tanto los pines de conexión como todo lo que hay que meter en Void Loop (), claro como me iba a funcionar. El caso es que, cortando parte del código del que me bajé y parte del tuyo que en su dia subiste como "MAESTRO" (el que usas actualmente con los dos ESCLAVOS), hice, que por fin, saliese el sonido por mis altavoces (dos pequeños de ordenador que se alimentan por USB). Ahora me toca pulir el código (lo hago mediante prueba y error) para que los sonidos se reproduzcan en el mismo orden que tengo asignados, porque observo que se ejecutan un poco aleatoriamente. Pero bueno, de momento conseguí que funcionase el sonido que era, de momento, lo mas importante. Aunque ahora me toca lo mas difícil, intentar meter el sonido en cada una de las fases de la iluminación. Incorporo el sckecth que realicé para las pruebas por si quieres echarle un vistazo y modificar o corregir algo que veas que puede estar mal, ya que como comenté, yo lo hago a la antigua (prueba-error) aunque espero ir cogiendo, poco a poco, soltura con la programación Anexo sckecth: Pruebas_SONIDO_DFPLAYER_BUCLE.ino

Hola, buenos días,

Me alegro que hayas conseguido que te funcione. Yo siempre he funcionado con esa táctica de prueba-error, por eso comenté que trastearas con el reproductor.

Sobre lo que comentas del scketch que mandé, al utilizar Serial1 ya se definen los pines de conexión (RX1 y TX1) y no tiene nada en void loop porque la órden al reproductor está en setup haciendo que se reproduzcan todos los archivos, y si estuviera en loop se reiniciaría la reproducción una y otra vez, sin que le diera tiempo a comenzar a escucharse nada.

De todos modos, adelante con lo que has conseguido, y sigue informando.

Un saludo

José Luis

Posts: 350
Ubicación: La Línea de la Concepción (Cádiz)


Pastorcillo

Posts: 350

Ubicación: La Línea de la Concepción (Cádiz)
Buenos días Iñaqui:
Una pregunta, te mandé un e_mail a tu correo con un problema que tenia con el circuito de iluminación superior y de horizonte que hice siguiendo tus instrucciones, le he dado muchas vueltas pero no lo consigo poner bien, te mande el código que hice por si tu lo pudieras ver. ¿lo has visto?
Gracias
Un cordial saludo
José Luis

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona
José Luis - 2/2/2022 12:34 Buenos días Iñaqui: Una pregunta, te mandé un e_mail a tu correo con un problema que tenia con el circuito de iluminación superior y de horizonte que hice siguiendo tus instrucciones, le he dado muchas vueltas pero no lo consigo poner bien, te mande el código que hice por si tu lo pudieras ver. ¿lo has visto? Gracias Un cordial saludo José Luis

Hola José Luis,

Ya me puedes perdonar, pero no consigo localizar el mail con el scketch que me dices. Si me lo envías de nuevo gustosamente le echo un vistazo y te comento.

Un saludo.

minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Bueno, de momento voy avanzando con el sonido ambiente. He logrado introducir un sonido, de los que quiero reproducir, en una de las fases de iluminación, pero el problema es que se empieza a reproducir y no para hasta que cambia de fase. ¿Que instrucción tendría que incorporar para que, una vez que se ejecute, se detenga y no este sonando continuamente?

Esta el la instrucción en cuestión. La finalice con "Delay" para que no estuviese continuamente sonando, por lo menos que se detenga entre un reproducción y la siguiente:



{ Serial.println("Pista ambiente 1"); // Reproduce pista 1
myDFPlayerAM.play(9);
stDFP = 1;
delay (20000);
}

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Hola,

Por lo que dices en tu mensaje deduzco que quieres crear un archivo por cada sonido que quieres que se reproduzca en cada fase y que suenen en su momento preciso.

Yo no trabajo así, por lo que tendría que mirar la forma de hacerlo, aunque se me antoja que esto complicaría bastante el programa.

Lo que yo hago es crear un solo archivo de sonido por cada una de las fases. Este archivo tiene mezclados todos los sonidos que quiero que se escuchen y dura lo mismo que la fase.

Por ejemplo, para crear el sonido ambiente de la fase día, pongo gallinas cacareando, de fondo y sin que sea estridente, de principio a fin (repito la grabación bajada de internet las veces necesarias, sin espacio entre las repeticiones). Luego le voy intercalando, en otras pistas, en distintos momentos, pájaros, ovejas, vacas, perros, etc.

Adjunto el archivo correspondiente a la fase del amanecer para que te hagas una idea. Es el más pequeño, por lo que espero me deje subirlo.

Saludos.





Adjuntos
----------------
Adjuntos 0005.mp3 (468KB - 24 descargas)
A minin le gusta esto.
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Me parece una solución muy buena. Me pongo a ello y ya te contaré. Gracias
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Después de varias pruebas, algo estoy haciendo mal. He incorporado las siguientes lineas al scketch para que se inicie el sonido al empezar a amanecer, pero lo que debería de durar unos 30 segundos, dura unos dos minutos. El motivo es que, alguno de los sonidos que están grabados en el fichero 0005.mp3 que mandaste, se intercalan durante mucho tiempo entre los otros (concretamente el de las cigarras) y por eso se alarga tanto el tiempo del mismo. Ya no sé por dónde continuar.

Estas son las lineas que tengo en el sckecth para que se inicie el sonido cuando empieza a amanecer:


//FASE AMANECER - variación entre color amanecer y color día
void amanecer()
{
{ Serial.println("Pista ambiente AMANECE"); // Reproduce pista 0050AMANECE
myDFPlayerAM.play(50);
stDFP = 1;
}

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Hola,

Habría que ver el contexto del scketch. ¿Puedes mandarlo?

Un saludo.

minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Por supuesto, ahi va.




Modificado por minin 3/2/2022 14:24




Adjuntos
----------------
Adjuntos Dia_y_Noche_8_salidas_analog_y_SONIDO_v.1.ino (17KB - 24 descargas)

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Hola, buenas tardes,

Antes de entrar al tema de la reproducción quería comentarte que ese scketch sobre el que estás preparando tu programación para el belén es muy viejo. Desde entonces he hecho otros muchos afinando posibles errores y simplificando el código para que sea más fácil de entender y más eficiente en su funcionamiento.

Vamos ahora a tu problema:

Con lo que has añadido al código dentro de la función void amanecer() lo que estás haciendo es decirle que inicie la reproducción cada vez que repita el ciclo, y esto se hace muchas veces, hasta que los valores de la iluminación alcancen los valores finales de la transición.

Así pues, se está reiniciando una y otra vez. Si te fijas en el led del reproductor verás que parpadea levemente. Es por eso.

Entonces tenemos que hacer que solo lo inicie una vez añadiéndole una variable que cuando el reproductor esté apagado tenga un valor 0 y cuando esté funcionando tenga valor 1. Así el inicio de la reproducción sería:

if (variable==0)

{ myDFPlayerAM.play(50);

variable = 1}

Al final de la fase tendremos que actuar también para que la variable vuelva a 0 y la reproducción se detenga si el archivo de sonido es más largo que el tiempo de la transición. Así tendríamos que añadir, en el condicional de que todos los circuitos han llegado al valor determinado, y después del cambio de estado, lo siguiente:

myDFPlayerAM.stop();

variable=0;

Ya dirás cómo te va.

Un saludo

 


laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Hola a todos,

Después de un tiempo intentando mejorar la iluminación de mi belén con Arduino, y gracias a las aportaciones de otros foreros, adjunto a este post un scketch bastante sencillo que puede servir tanto de base para instalaciones más complicadas, como, tal y como está, utilizarse directamente.

En menos de 100 líneas de código maneja 8 circuitos (4 horizonte y 4 superior) para que realicen este ciclo: un inicio progresivo, una fase día, una transición progresiva a la fase noche (en dos pasos), la fase noche y otra transición progresiva a la fase día (también en dos pasos) continuando el ciclo.

Las composiciones cromáticas de cada momento y cada circuito se pueden modificar de forma sencilla.

Si alguien quiere mayor información, estaré encantado en facilitársela.

Un saludo.



Modificado por laucsada 3/2/2022 19:24




Adjuntos
----------------
Adjuntos luces_belen_22_fases.ino (3KB - 35 descargas)
A José Luis, kilinkala y minin les gusta esto.
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Estimado Laucsada. Eres un artistas del Arduino. He realizado las modificaciones que me has indicado y me funciona el sonido, de maravilla. Ahora solo me queda hacer los ficheros de sonidos de las diferentes fases e ir incorporándolos a cada una de las fases de iluminación. Muchas gracias por tu ayuda. La verdad es que suelo andar por varios foros de distinto contenido pero, en ninguno, he encontrado a una persona tan amable y solicita como tú. Lo que me extraña es que, aparentemente, no haya mas foreros de éste foro que se interesen por este tema que hace que un belén resalte mucho mas con una iluminación decente y con, sonido incluido, ya ni te cuento. A lo mejor es que muchos foreros tienen miedo de meterse en estos "trabajos", pero con foreros como tu, da gusto tratar. Animo a todos aquellos que estén con la duda de si meterse en esto del Arduino o no que, por lo menos, lo intenten, que los gastos no son muy elevados pero, los resultados son muy bonitos.

Ahora tengo bastante con el tema del sonido pero, en cuanto pueda, miraré este ultimo fichero que mandaste.
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Buenos dias a todos:
Tras mucho trastear, he grabado todos los sonidos de las fases del belen y me ha quedado, a mi entender, bastante bien, pero observo que, en cada cambio de fase, hay como una pausa de 1 segundo aproximadamente. Me pregunto si eso es normal. No es que me moleste, pero queda un poco raro que, de repente, se apague el sonido y, un segundo después empiece el siguiente.

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Prueba a quitar (de momento solo comentala con //) la línea de parada de la reproducción en el condicional final de cada fase. Solo esa línea, no la de la variable.

O, si no, pasa esa línea al principio de cada fase, justo delante de iniciar la siguiente reproducción.

Son soluciones teóricas, sin probar. Ya comentarás el resultado.

Un saludo.

minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Así lo haré y ya comentaré los resultados. Gracias
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Duplicado

Modificado por minin 9/2/2022 11:37
minin

Posts: 27
Ubicación: Asturias


Pastorcillo

Posts: 27

Ubicación: Asturias
Creo que, el sonido, de momento lo he dejado mas o menos a mi gusto. Lo primero que hice, siguiendo las indicaciones de Laucsada, fue comentar mediante "//" la linea de parada de la reproducción en el condicional final de cada fase y, de esa manera, el cambio de sonido, en algunas de las fases se reproducía de continuo pero, en otras no, seguía existiendo ese paro de 1 ó 2 segundos que, aunque no se nota mucho, a mi, personalmente, no me gustaba.

Tras analizar los datos del sketch, y sin encontrar nada anómalo, me di cuenta de que, aquellas cambios de sonido en los que se producía el paro de 1 ó 2 segundos, eran aquellas que duraban algunos segundos menos que la duración de la fase en que se reproducían.

Lo que hice y, de momento, me funciona, fue aumentar la duración de los sonidos de cada fase en unos 2 segundos mas que la duración de la fase de iluminación, manteniendo lo que comento en el primer párrafo (inhabilitar la linea de parada de la reproducción....) y, de esta manera, los sonidos se van reproduciendo uno a continuación de otro, sin parada entre el cambio de fase de iluminación.

A laucsada le gusta esto.
manugaldon77

Posts: 3
Ubicación: mengibar


Pastorcillo

Posts: 3

Ubicación: mengibar
Buenas como te comenté en otro post aún estoy en duda sobre si utilizar Arduino este año o no, estoy haciendo una lista con los materiales que me harían falta y para la alimentación quería saber si podría hacerlo funcionar todo con una fuente de alimentación de PC, tengo una y un adaptador atx del que se pueden obtener los diferentes voltajes (12, 5 y 3v).
Un saludo.

Modificado por manugaldon77 13/2/2022 08:04

laucsada

Posts: 116
Ubicación: Pamplona



Pastorcillo

Posts: 116

Ubicación: Pamplona

Hola Manuel,

Yo alimento Arduino con 12v, que es el máximo que admite, y la misma fuente de alimentación me sirve para los circuitos de iluminación, teniendo en cuenta que dé los amperios suficientes.

Saludos.

Páginas: 1 2 3 4 5 6
Saltar al foro :
Buscar en este foro
Versión Impresa
Enviar un mail con el enlace a este tema

(Borrar todas las cookies grabadas por este sitio)
Ejecutándose MegaBBS ASP Forum Software
© 2002-2022 PD9 Software