Tabla de contenido:

Reloj de 7 segmentos: 4 pasos (con imágenes)
Reloj de 7 segmentos: 4 pasos (con imágenes)

Video: Reloj de 7 segmentos: 4 pasos (con imágenes)

Video: Reloj de 7 segmentos: 4 pasos (con imágenes)
Video: PSoC 4 - Display 7 Segmentos CY8CKIT-042 2024, Noviembre
Anonim
Image
Image
Reloj de 7 segmentos
Reloj de 7 segmentos
Reloj de 7 segmentos
Reloj de 7 segmentos

Después de varios años de uso, mi reloj analógico está definitivamente muerto.

Mientras tanto, estaba buscando un proyecto de reloj 3d para imprimir con mi Prusa, así que encontré un reloj de 7 segmentos que funciona con leds ws2812 y Arduino.

Pensé que el poder de esos leds es mostrar una amplia gama de colores, entonces la pregunta era, ¿cómo combinar varios colores en un reloj digital?

Entonces la idea de personalizar el reloj con las siguientes características:

- 7 transiciones de cambio de minutos diferentes

- 3 colores preestablecidos para franjas horarias

- atenuación automática de la intensidad de la luz ambiental

- apagado / inicio automático cuando no es necesario mostrar la hora

- ajuste automático del horario de verano

Suministros

El proyecto se puede ejecutar utilizando una impresora 3D o buscando en Google para proyectos de relojes de 7 segmentos. Alguien los hizo también con cartón.

También es necesario:

  • Arduino nano
  • foto chell
  • pulsador momentáneo
  • interruptor encendido / apagado
  • Enchufe DC
  • Transformador 5V
  • n ° 30 WS2812 leds (modelo 30 leds / metro)
  • tarjeta de circuito impreso
  • Módulo DS3231
  • cables finos para conexiones leds
  • resistencias 10K, 550
  • soldar
  • pegamento
  • saltadores
  • encabezados hombre / mujer

Paso 1: Impresión y cableado…

Impresión y cableado…
Impresión y cableado…
Impresión y cableado…
Impresión y cableado…
Impresión y cableado…
Impresión y cableado…

El proyecto original en Thingverse tiene algunas modificaciones (gracias al usuario random1101).

Los dos puntos se ampliaron para adaptarse a la versión LED utilizada para este proyecto. También se modificó una de las tres contraportadas para adaptarse a la PCB. También cambió la base del reloj.

El trabajo principal es soldar leds. Primero, procedí a soldar leds fuera de la contraportada del dígito de impresión 3D, luego inserté en ella.

El 7º led del primer dígito empezando por la izquierda se conectará al primer led del siguiente dígito. Al final del 4º dígito, conecte los dos leds de puntos, se numerarán 28 y 29 dentro de la secuencia.

La secuencia de LED se puede modificar cambiando algunos parámetros a la biblioteca Arduino como se explica a continuación.

Una vez conectado, se habrá realizado la mayor parte del trabajo.

Paso 2: Montaje de PCB

Montaje de PCB
Montaje de PCB
Montaje de PCB
Montaje de PCB
Montaje de PCB
Montaje de PCB
Montaje de PCB
Montaje de PCB

Ahora es el momento de montar una pcb donde soldar algunas resistencias, cabeceras, etc. Los componentes para conectar Arduino son:

Pulsador conectado entre el pin 3 de Arduino y GND con resistencia pull-up interna.

Sensor de luz conectado como divisor de voltaje, entre el pin A7 de Arduino y GND. Agregue también una resistencia de 10K entre A7 y + 5V ……… GRAN ERROR

sensor de luz entre + 5V y pin A7 y resistencia de 10K entre pin A / y GND

Módulo DS3231 conectado a través de i2c y pin SQW al pin 2 de interrupción de Arduino

Leds conectados al pin 5 a través de una resistencia de 550Ohm.

Paso 3: el boceto

Hay muchas personalizaciones que se pueden hacer dentro del boceto.

El ahorro de la biblioteca de horario de verano se maneja mediante los parámetros TimeChangeRule, consulte la biblioteca JChristensen en Github para obtener más información.

El apagado automático dentro del bucle se maneja mediante la variable int gotosleep. En mi caso a las 0:00 Arduino entra en modo de suspensión, luego el reloj se apaga.

Al configurar ALARM en el módulo DS3231 a través de la variable int gotosleep, permite que Arduino se despierte del modo de suspensión. En mi caso a las 7:00 de la mañana.

Otra característica es cambiar el color del reloj durante el día dentro de la función:

void printDateTime (time_t t, const char * tz)

En mi configuración de h 0:00 a 12:00, la hora se muestra en rojo, de 12:00 a 17:00 en verde y de 17:00 a 0:00 principalmente en azul. Este es el mejor equilibrio de color encontrado hasta ahora para un buen contraste con la pared blanca detrás.

La función de transiciones permite tener una transición de color animada cuando cambia un minuto. Hay 6 diferentes que se pueden elegir presionando el botón momentáneo, la séptima opción es sin transiciones. El que me gusta se llama newrandom () que es el preestablecido (int mode = 1;).

Hice algunos cambios en la biblioteca para compatibilidad con la secuencia de led. Dentro del archivo segmento_display.cpp, al final, cambie (i) puede modificar su secuencia de led. Una vez hecho esto, sustituya el archivo dentro

/ Arduino / libraries / 7segment_NeoPixel-master

Bibliotecas requeridas:

  • avr. sueño
  • pantalla_segmento
  • DS3231
  • TimeLib
  • Cable
  • Adafruit NeoPixel
  • Zona horaria

Paso 4: es hora de decir adiós

Me gusta este reloj, la hora actual es claramente visible desde lejos y se apaga cuando no la necesito.

¿Cómo podría pedir más a un reloj?

Recomendado: