domingo, 7 de febrero de 2021

Reloj Maqueta · con Arduino Nano, DS3231, MAX7219, WS2812B y DHT22


En toda estación no puede faltar un reloj
(la puntualidad es indiscutible)



Si unimos un diseño retro y un poco de tecnología, 
nos encontramos con el reloj de la maqueta de TrenesLonginos




MATERIALES UTILIZADOS

  • Reloj de 50cm de Rebecca Mobili (sin pila AA 1,5v)
  • Arduino Nano (v.3)
  • Modulo RTC DS3231 (sin pila 2032 de 3v)
  • Pantalla LED con Max7219 (de 4 módulos)
  • 2 tiras 50 leds NEOPIXEL con WS2812B (60 para circunferencia reloj y 3 para información)
  • 1 Sensor DHT22
  • 3 resistencias 470Ω (o similar)
  • 2 pulsadores momentáneos
  • 1 Led color amarillo
  • 1 Breadboard de 400 pines
  • Varios cables de 1,5mm con conector 
  • Una pila 9V ó transformador de 9V 
  • 1 regulador KIA7805API (LM78XX)
  • 4 diodos
  • 4 Capacitadores (de 220uf  y 47uf ).
Tener en cuenta que los leds funcionan a 5V y al conectar la pila de 9V o transformador, es conveniente colocar un regulador LM7805 y montar un circuito con convertidores AC-DC (4 diodos) y capacitadores de 220uf y 47uf  para regular la tensión.
En cuanto a las resistencias y componentes electrónicos, cada uno tendrá que estudiar su caso porque van a depender de los elementos utilizados y potencia del transformador, así como de la intensidad y colores de los led's.
El coste aproximado de los materiales asciende a +/- 125€


NOTAS

1ª.- Recomiendo que primero se practique un poco con leds normales y programación simple de Arduino, para comprender su funcionamiento. (canal de YouTube para iniciarse en Arduino)

2ª.- A partir de ahí, mi recomendación es que según lo que necesitemos busquemos modelos similares para poder comparar y montar lo que busquemos. (desarrollos similares) · (como construí mi reloj arduino)

3ª.- Lo ideal antes de iniciarse con el montaje, es usar el programa Proteus para diseñar y probar si Arduino hace lo que le pedimos.

4ª.- Con las ideas claras y la programación comprobada, diseñamos el montaje con Fritzing

5ª.- Y ya solo nos queda empezar.



AYUDAS

1º.- En este link os dejo el código usado en mi proyecto.  

editando la programación

código arduino v.1.txt (originales en inglés)

(*)        Hay librerías de Arduino que hay que descargar para su funcionamiento.
(**)      Hay que tener en cuenta que este código es un copia y pega de otros, modificados y todos en uno. 
(***)    Funcionar, funciona, pero se podría comprimir y mejorar.
(****)  Con sensor de temperatura y humedad incluido, ajustado al proyecto, traducido y con anotaciones

código arduino v.4.txt (mi proyecto, traducido y adaptado)



2º.- Pantallazo de Proteus

montaje arduino en Proteus



3º.- Pantallazo de Fritzing

diseñando la electrónica en una ProtoBoard



APRENDIZAJE

(de Arduino y Proteus)

pruebas arduino leds individuales

pruebas arduino display 7 segmentos

pruebas arduino modulo display 7 segmentos

pruebas arduino matriz leds 8x8

pruebas arduino modulo display 7 segmentos y matriz MAX7219

pruebas arduino 60 leds individuales

pruebas arduino tira leds neopixel con WS2812B y matriz MAX7219



FOTOS

(del montaje)

reloj original 'Rebecca Mobili'  50cm

pruebas funcionamiento arduino Nano con led neopixel

desmontamos reloj analógico

agujereamos los espacios para botoneras y leds

probamos la luminosidad de la tira de leds

con la Dremel Trio hacemos hueco para ubicar la matriz de leds

montamos la placa MAX7219

colocamos la tira leds WS2812B
al ser neopixel prestar especial atención a las entradas y salidas de los módulos

montaje completo de tira leds

pruebas funcionamiento leds

probando las conexiones

comprobando la lectura del RTC

pruebas del código arduino

colocación pulsadores

montando la ProtoBoard de 400

montaje del regulador y los capacitadores

fijación de cables y componentes

reverso del reloj

Colocando las manecillas del reloj analógico



FOTOS

(información de la matriz de LED's al arrancar)





BOTON IZQUIERDO
  • Basic (muestra hora y minuto)

  • Small (muestra hora, minuto y segundo)

  • Temp (muestra temperatura y humedad durante 5'')


  • Setup (cambia la configuración del reloj)
    • Modo Random (On/Off) { en ON, cambio ····················· }
    • Modo 12/24h
    • Set (ajusta el reloj)
      • Minuto
      • Hora
      • Dia
      • Mes
      • Año
    • Brillo (cambia brillo matriz de led's de 0 a 15)
    • Exit (vuelve a Basic)
BOTON DERECHO (en todos los menús si se pulsa muestra fecha)
  • Fecha ( muestra: día semana con día-fecha-mes-año )


VIDEOS





6 comentarios:

  1. Otro gran trabajo muy original y de gran utilidad.
    Una exposición del proceso realmente PRO que demuestra tus habilidades en estas materias de las que estás sacando gran provecho.
    Enhorabuena por la idea, por el resultado y por el artículo en general.
    Saludos,
    Vte.

    ResponderEliminar
    Respuestas
    1. Gracias Vicente..... sigo aprendiendo y avanzando poco a poco.

      Un fuerte abrazo,
      José J. Canet

      Eliminar
  2. Pedazo de reloj que te has currado Longinos 😁. Demasiado friki para una maqueta de trenes para mi gusto, pero como informático que soy te digo que mola 😉.

    Saludos,
    Javier.

    ResponderEliminar
  3. Hola le puedes añadir el sensor DS18B20 para que muestre la temperatura , este sensor es mas preciso que el DHT22

    ResponderEliminar
    Respuestas
    1. En su día desconocía el sensor que me comentas, en un futuro no descarto cambiarlo

      Eliminar