Noticias|Artículos|Figuras|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: < ... 4 5 6 7 8 9 10 >
 
Juank2782

Posts: 6
Ubicación: Colombia


Pastorcillo

Posts: 6

Ubicación: Colombia
buen día para todos, laucsada te felicito por tu Belén, me gustaría si es posible montaras un esquema o subieras fotografías del montaje del motor y los sensores , es decir que se observe como queda tu montaje tras bambalinas, pues tu subiste muy amablemente uno con las conexiones, pero seria de gran ayuda ver como queda físicamente. muchas gracias, mil bendiciones

laucsada

Posts: 164
Ubicación: Pamplona



Pastorcillo

Posts: 164

Ubicación: Pamplona

Hola Juan Carlos.

Supongo que te refieres al sistema del sol. Adjunto esquema de lo construido físicamente.

Un saludo.





Adjuntos
----------------
Adjuntos SISTEMA SOL.pdf (410KB - 62 descargas)
Juank2782

Posts: 6
Ubicación: Colombia


Pastorcillo

Posts: 6

Ubicación: Colombia
Laucsada, muchas gracias por el diagrama. Dios bendiga tu generosidad, tengo otra duda y de antemano perdón la molestia, que medidas tiene el montaje,es decir de sensor a sensor, porque me imagino que el tiempo que demore en subir y bajar tiene importancia. Muchas gracias y feliz navidad

laucsada

Posts: 164
Ubicación: Pamplona



Pastorcillo

Posts: 164

Ubicación: Pamplona

Hola Juan Carlos.

La distancia entre los sensores es de 55 cm, pero lo que recorre el sol en subida y bajada es de unos 50 cm. 

Los sensores son un sistema de seguridad y para ubicarlo en su posición al inicio. Si en uno de los movimientos recorre menos espacio de lo previsto por alguna causa (resbala la tracción, etc.), en el siguiente el sensor lo detendría en su lugar.

Cada recorrido, subida o bajada, tarda 85 segundos en completarse, así que la velocidad es bastante baja. 

La bajada empieza a la mitad de la fase día (35 seg), se mantiene durante la de atardecer (25 seg) y acaba al final de la de anochecer (25 seg). La subida empieza con el alba (25 seg), sigue durante el amanecer (25 seg) y termina a mitad del día (35 seg)

Espero haber solucionado tus dudas.

Un saludo y Feliz Navidad, para ti y los tuyos y para todos los miembros del foro.

A yiyi le gusta esto.

laucsada

Posts: 164
Ubicación: Pamplona



Pastorcillo

Posts: 164

Ubicación: Pamplona

Buenos días a todos.

Siguiendo con este tema de controlar el Belén por medio de placas Arduino, quería hacer una reflexión que supongo os habrá surgido a los que utilizáis el reproductor DFPlayer Mini.

Este reproductor tiene posibilidades que, o no utilizamos, o las configuramos desde el código y son inamovibles durante su ejecución.

Así, el volumen solo lo podríamos alterar utilizando un amplificador intermedio entre el reproductor y el altavoz. Si no, marcamos el volumen en el código y ahí queda.

También la ecualización del sonido (el reproductor tiene seis tipos de ecualización) la tenemos que realizar en código.

He estado buscando la forma de solucionar esto, de poder acceder al reproductor desde el exterior y variar las condiciones de volumen y ecualización, y he encontrado una forma sencilla y barata de hacerlo: infrarrojos.

Todos tenemos en casa mandos por infrarrojos para aparatos (televisor, equipo de sonido, etc.) que podríamos usar para este fin añadiando a nuestro hardware un receptor de infrarrojos (en el mando no se altera nada y se puede seguir usando para el aparato al que corresponda).

Estos son los receptores que he estado probando (no he encontrado la forma de que las fotos salgan más pequeñas, si alguien me lo puede explicar estaré agradecido):

 

 

Módulo receptor que cuesta entre 1 y 2 euros

 

Receptor sin módulo, que cuesta menos de 1 euro y que por su forma se puede colocar en cualquier parte del Belén sin que llame demasiado la atención. Creo que esta es la mejor opción.

Y una vez llegados a este punto, por medio de infrarrojos también podríamos actuar sobre cualquier parte del código por medio de simples variables (que funcionen o no motores, que se detenga o arranque el ciclo de fases, etc.).

En unos días continuaré explicando la forma en que estoy incorporando esto al código que controla mi Belén, empezando, naturalmente, desde cero. Si alguien está interesado puede adquirir el receptor y hacerlo conmigo.

Un saludo a todos.

 



Modificado por laucsada 17/1/2024 13:03




Adjuntos
----------------
Adjuntos Receptor_Infrarrojos_3_ml.jpg (38KB - 8 descargas)
Adjuntos p_1_4_5_9_1459-Receptor-infrarrojo-universal-VS1838B-38khz-ir-arduino-raspberry-pi.jpg (42KB - 13 descargas)
A minin y Pere55 les gusta esto.

laucsada

Posts: 164
Ubicación: Pamplona



Pastorcillo

Posts: 164

Ubicación: Pamplona

CONTROL INFRARROJOS

Buenas tardes.

Como anuncié en el post anterior, vamos a llevar a cabo la interacción con el reproductor DFPlayer mini desde el exterior, usando infrarrojos, y desde cero. Así pues, hoy quiero mostrar cómo se conecta el receptor y después veremos cómo interactúa con el emisor (el mando a distancia que hayamos elegido).

El receptor tiene tres patillas que corresponden a +VCC, GND y señal, y que se pueden reconocer según la siguiente imagen (en el módulo normalmente vienen marcadas):

Para su conexión al Arduino (es igual que sea Mega o Uno) podemos usar una protoboard y cables jumper, de forma que conectaremos VCC a la salida +5v, GND a GND y Señal al pin 2 de la placa (el consumo es insignificante, por lo que se puede conectar al Arduino).

Ahora vamos con el mando. Si es algún mando que teníamos por casa y no sabemos si funciona, lo podemos comprobar muy fácilmente (ojo, que tenga pilas) apretando un botón y mirando el emisor a través de la cámara del teléfono móvil. Si vemos que parpadea, el mando funciona (a simple vista no se puede apreciar).

Ahora nos vamos a plantear qué botones del mando vamos a usar. Si tiene botones para volumen (+ / -) son muy descriptivos para ese mismo uso, pero cualquier botón se puede usar para todo.

La librería del DFPlayer mini tiene varios comandos que realizan directamente funciones, como bajar y subir el volumen; iniciar, pausar, reanudar y parar la reproducción; elegir ecualización; pasar a la pista siguiente o anterior. Las veremos más adelante con detalle.

Una vez que tenemos anotado qué botones usaremos y con qué fin, necesitamos conocer el comando que cada uno de ellos envía al receptor. Para ello usaremos el código que adjunto (habrá que familiarizarse con él, pues es la base sobre la que construiremos nuestro código). Una vez cargado abrimos el monitor serie, vamos pulsando cada uno de los botones elegidos y anotando la lectura del monitor con cada botón y uso.

Yo estoy utilizando un mando que venía con el kit de iniciación de Arduino que compré cuando comencé en este mundo, y voy a utilizar los botones:

Botón                    Función                                                 Comando leido

Play                      Parada y arranque reproducción                   67

Menos (-)              Bajar volumen                                              7

Más (+)                 Subir volumen                                            21

EQ                        Tipo ecualización                                           9

Cada mando envía diferentes comandos con cada botón.

Ya hemos conseguido interactuar con la placa Arduino. En el próximo post entraremos ya en el código para actuar sobre el reproductor.

Saludos a todos.

 



Modificado por laucsada 21/1/2024 18:35




Adjuntos
----------------
Adjuntos conexiones.jpg (7KB - 7 descargas)
Adjuntos INFRAROJOS_1.1.ino (1KB - 11 descargas)
A minin, Pere55 y yiyi les gusta esto.
tapomar

Posts: 9
Ubicación: 22413


Pastorcillo

Posts: 9

Ubicación: 22413
Buenas noches.
Animado por Laucsada, después de tener problemas con el sketch inicial que fue el que usé para ponerle las luces al belén de mi tío, he usado el de 22 fases que encontré por el foro y le he añadido la parte del sonido, que es la ampliación que quiero poner para este año, y menos mal que he empezado pronto...jejejeje.
el caso es que me en la parte del sonido me da un error, "Compilation error: 'mySoftwareSerialAM' does not name a type", que no logro resolver porque lo he copiado del sketch que tenía. Si pudierais darle un vistazo os lo agradecería.

A ver si se adjuntar el sketch y unas fotos que dije que pondría en su día.
Un saludo y gracias por este foro.



(IMG_20210930_110410.jpg)



(IMG_20210930_110417.jpg)



(IMG_20231210_180326.jpg)



Adjuntos
----------------
Adjuntos luces_belen_22_fases_copy_modificado_con_sonido.ino (6KB - 18 descargas)
Adjuntos IMG_20210930_110410.jpg (568KB - 12 descargas)
Adjuntos IMG_20210930_110417.jpg (1292KB - 9 descargas)
Adjuntos IMG_20231210_180326.jpg (3917KB - 9 descargas)
A Pere55 le gusta esto.
tapomar

Posts: 9
Ubicación: 22413


Pastorcillo

Posts: 9

Ubicación: 22413
Si antes escribo, antes encuentro el error.
Al retocar el sketch, la parte del sonido que va en el setup, se me habia quedado debajo del corchete de cierre del setup.😅
Ahora toca probar a ver si funciona.

Espero que os gusten las fotos.

Con el elegoo mega 2560 R3, la fuente de alimentación 220 / 24 v y el controlador amplificador para leds de 5 a 24 v se controlan las 4 pantallas RGBW del techo

Un saludo
A Pere55 le gusta esto.

laucsada

Posts: 164
Ubicación: Pamplona



Pastorcillo

Posts: 164

Ubicación: Pamplona

Buenos días Sergio.

Me alegro que hayas resuelto el problema.

Gracias por las fotos del belén y su parte técnica.

Un saludo.

A Pere55 le gusta esto.

laucsada

Posts: 164
Ubicación: Pamplona



Pastorcillo

Posts: 164

Ubicación: Pamplona

Buenos días.

Continuando con la utilización de infrarrojos, y antes de pasar al reproductor, vamos a ver el código que utilizará los comandos recibidos del mando emisor para realizar acciones.

En el archivo adjunto (infrarrojos_1.1.1.ino), y partiendo del código que subí en el post anterior, trabajo con los comandos, imprimiendo por monitor mensajes que se corresponden con cada uno. Lo único que he añadido es un subcódigo que incluye un switch que en base al comando recibido realiza una acción. En loop, he añadido la línea que llama a ese subcódigo.

Para probarlo hay que sustituir los comandos que da mi mando por los que envía el vuestro.

Y vamos con el reproductor. La librería DFRobotDFPlayerMini tiene un ejemplo (FullFunction.ino) donde están detalladas todas las funciones. Yo voy a utilizar estas:

  • Subir volumen:                                objeto.volumeUp();
  • Bajar volumen                                 objeto.volumeDown();
  • Reproducir carpeta                        objeto.loopFolder(x);
  • (donde x es el número de carpeta: 0, 1, 2, … En principio solo usaré carpeta 0)
  • Detener reproducción                   objeto.stop();

En cuanto al ecualizador:

  • Normal                                              objeto.EQ(DFPLAYER_EQ_NORMAL);
  • Pop                                                    objeto.EQ(DFPLAYER_EQ_POP);
  • Rock                                                   objeto.EQ(DFPLAYER_EQ_ROCK);
  • Jazz                                                    objeto.EQ(DFPLAYER_EQ_JAZZ);
  • Clásica                                               objeto.EQ(DFPLAYER_EQ_CLASSIC);
  • Bajos                                                 objeto.EQ(DFPLAYER_EQ_BASS);

El código adjunto (dfplayerInfrarr.ino) es un ejemplo de la forma de unir los comandos recibidos a las funciones de la librería. Lo he intentado explicar al máximo.

Este mismo procedimiento se puede utilizar para activar o desactivar efectos de nuestros Belenes. Simplemente debemos condicionar su funcionamiento a una variable tipo boolean. Esta variable, al pulsar el botón que especifiquemos del mando cambiará de 1 a 0 o viceversa, con lo que el efecto estará activo o no.

Espero que esta serie de post pueda ser aprovechada por algún miembro del foro y que su control del Belén con Arduino sea más eficiente.

Como siempre estoy a disposición de cualquiera que tenga alguna duda.

Un saludo a todos.





Adjuntos
----------------
Adjuntos INFRAROJOS_1.1.1.ino (1KB - 7 descargas)
Adjuntos dfplayerInfrarr.ino (4KB - 11 descargas)
tapomar

Posts: 9
Ubicación: 22413


Pastorcillo

Posts: 9

Ubicación: 22413
Buenas tardes a todos.
Preparando, con tiempo por si acaso, la mejora que quería hacer en el belén de mi tío, añadiendo los sonidos a cada fase del día, creo que al final conseguiré que funcione usando el sketch de 22 fases añadiendo el sonido con el DFPlayer, todavía me queda probar con tira led RGBW y añadiendo el reproductor, pero el sketch parece que funciona correctamente.

El caso es que quería añadir el sonido al sketch que estaba funcionando hasta ahora pero si añado el sonido, cuando observas el monitor, se detiene en "Pista ambiente 2", en cambio si dejo como comentario todo lo referido al sonido, el sketch funciona correctamente y no hay forma de encontrar donde está el error.

Si alguien de los que entendéis mejor la programación de arduino tiene tiempo y quiere echarle un vistazo, os paso el sketch con la parte del sonido comentado y si encontráis el fallo, hacérmelo saber, porfa....
Yo voy a seguir investigando a ver que carajo pasa y si veo el fallo os comento también.

Un saludo a todos
tapomar

Posts: 9
Ubicación: 22413


Pastorcillo

Posts: 9

Ubicación: 22413
Buenas tardes a todos.
Preparando, con tiempo por si acaso, la mejora que quería hacer en el belén de mi tío, añadiendo los sonidos a cada fase del día, creo que al final conseguiré que funcione usando el sketch de 22 fases añadiendo el sonido con el DFPlayer, aunque todavía me queda probar con tira led RGBW y añadiendo el reproductor, pero el sketch parece que funciona correctamente.

El caso es que quería añadir el sonido al sketch que estaba funcionando hasta ahora, pero si añado el sonido, cuando observas el monitor, se detiene en "Pista ambiente 2", en cambio si dejo como comentario todo lo referido al sonido, el sketch funciona correctamente y no hay forma de encontrar donde está el error.

Si alguien de los que entendéis mejor la programación de arduino tiene tiempo y quiere echarle un vistazo, os paso el sketch con la parte del sonido comentado y si encontráis el fallo, hacérmelo saber, porfa....
Yo voy a seguir investigando a ver que carajo pasa y si veo el fallo os comento también.

Un saludo a todos



Adjuntos
----------------
Adjuntos CONTROL_BELEN_DEFINITIVO_CON_SONIDO_PRUEBA_2.ino (16KB - 11 descargas)

laucsada

Posts: 164
Ubicación: Pamplona



Pastorcillo

Posts: 164

Ubicación: Pamplona

Buenas tardes Sergio.

He hecho la prueba con el código, descomentando los tres bloques del sonido, y funciona perfectamente. Incluso he conectado un reproductor y no me da ningún problema.

Saludos.

tapomar

Posts: 9
Ubicación: 22413


Pastorcillo

Posts: 9

Ubicación: 22413
Pues ahora lo entiendo menos.
Cuando se imprime en el monitor PISTA AMBIENTE 2 continua el sketch?. A mí se me queda allí parado, y lo he probado varias veces..
En cuanto tenga un rato, monto todo y lo probaré yo también a ver qué pasa..
Gracias por hacer la prueba.
Un saludo
tapomar

Posts: 9
Ubicación: 22413


Pastorcillo

Posts: 9

Ubicación: 22413
Pues ahora lo entiendo menos.
Cuando se imprime en el monitor PISTA AMBIENTE 2 continua el sketch?. A mí se me queda allí parado, y lo he probado varias veces..
En cuanto tenga un rato, monto todo y lo probaré yo también a ver qué pasa..
Gracias por hacer la prueba.
Un saludo
minin

Posts: 61
Ubicación: Asturias


Pastorcillo

Posts: 61

Ubicación: Asturias
Algo parecido me pasó a mi este año con el sonido. Mira este enlace y los cinco siguientes, al menos a mi, la respuesta de Laucsada, me solucionó el problema https://foro.belenismo.net/forums/thread-view.asp?tid=34855&start=20...
A laucsada le gusta esto.
tapomar

Posts: 9
Ubicación: 22413


Pastorcillo

Posts: 9

Ubicación: 22413
Buenas tardes - noches!!!

Efectivamente, Minin, ha sido cambiar la actualización de la librería a la 1.0.5 y a funcionar.
También he modificado el tipo de variable de t y t_inicio que me comentó laucsada.

Muchas gracias a laucsada y a ti por el tiempo que empleáis en ayudar a novatos como yo en este tema.

Cuando lo tengamos todo montado, intentaré subir unas fotos y un video de como queda.
Un abrazo grande

A Pere55 y yiyi les gusta esto.
minin

Posts: 61
Ubicación: Asturias


Pastorcillo

Posts: 61

Ubicación: Asturias
tapomar - 25/1/2024 21:56

Buenas tardes - noches!!!

Efectivamente, Minin, ha sido cambiar la actualización de la librería a la 1.0.5 y a funcionar.
También he modificado el tipo de variable de t y t_inicio que me comentó laucsada.

Muchas gracias a laucsada y a ti por el tiempo que empleáis en ayudar a novatos como yo en este tema.

Cuando lo tengamos todo montado, intentaré subir unas fotos y un video de como queda.
Un abrazo grande



Me alegro que lo hayas resuelto y, todo el mérito lo tiene el "maestro" Laucsada, que es el verdadero experto en Arduino. A las pruebas me remito
A tapomar le gusta esto.
Páginas: < ... 4 5 6 7 8 9 10 >
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-2024 PD9 Software