Taula de continguts:

Rellotge de 7 segments: 4 passos (amb imatges)
Rellotge de 7 segments: 4 passos (amb imatges)

Vídeo: Rellotge de 7 segments: 4 passos (amb imatges)

Vídeo: Rellotge de 7 segments: 4 passos (amb imatges)
Vídeo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Desembre
Anonim
Image
Image
Rellotge de 7 segments
Rellotge de 7 segments
Rellotge de 7 segments
Rellotge de 7 segments

Després de diversos anys d’ús, el meu rellotge analògic està definitivament mort.

Mentrestant, buscava un projecte de rellotge en 3D per imprimir amb el meu Prusa, així que vaig trobar un rellotge de 7 segments que podia conduir leds ws2812 i Arduino.

Vaig pensar que la potència d'aquests leds era mostrar una àmplia gamma de colors, llavors la pregunta era: com combinar diversos colors en un rellotge digital?

A continuació, la idea de personalitzar el rellotge amb les funcions següents:

- 7 transicions de canvi de minut diferents

- 3 colors predefinits per a franges horàries

- Intensitat de la llum ambiental auto fi

- apagat automàtic / inici quan no cal mostrar l'hora

- ajust automàtic de l'horari d'estiu

Subministraments

El projecte es pot executar mitjançant una impressora 3D o Google per a projectes de rellotges de 7 segments. Algú també els va fer amb cartró.

També cal:

  • Arduino nano
  • foto chell
  • polsador momentani
  • interruptor d'encès / apagat
  • Endoll de corrent continu
  • Transformador de 5V
  • n ° 30 leds WS2812 (model de 30 leds / metre)
  • pcb
  • Mòdul DS3231
  • cables prims per a connexions de leds
  • resistències 10K, 550
  • soldar
  • cola
  • saltadors
  • capçaleres home / dona

Pas 1: Impressió i cablejat …

Impressió i cablejat …
Impressió i cablejat …
Impressió i cablejat …
Impressió i cablejat …
Impressió i cablejat …
Impressió i cablejat …

El projecte original de Thingverse s'ha modificat una mica. (Gràcies a l'usuari random1101)

Els dos punts es van ampliar per adaptar-se a la versió led utilitzada per a aquest projecte. Una de les tres contraportades també es va modificar per adaptar-se al PCB. També s'ha canviat la base del rellotge.

El treball principal és soldar leds. Primer he procedit a soldar leds fora de la contraportada de dígits d'impressió en 3D, i després hi he inserit.

El 7è led del primer dígit que comença per l'esquerra es connectarà al primer led del següent dígit. Al final del 4t dígit, connecteu els dos leds de punts, que estaran numerats 28 i 29 dins de la seqüència.

La seqüència de leds es pot modificar canviant alguns paràmetres a la biblioteca Arduino com s'explica a continuació.

Un cop connectat, s’ha realitzat la major part del treball.

Pas 2: Muntatge de PCB

Muntatge de PCB
Muntatge de PCB
Muntatge de PCB
Muntatge de PCB
Muntatge de PCB
Muntatge de PCB
Muntatge de PCB
Muntatge de PCB

Ara és el moment de muntar un PCB on es soldin algunes resistències, capçaleres, etc. Els components per connectar Arduino són:

Polsador connectat entre el pin 3 d'Arduino i GND amb una resistència de tracció interna.

Sensor de llum connectat com a divisor de tensió, entre el pin Arduino A7 i GND. Afegiu també una resistència de 10K entre A7 i + 5V ……… GRAN ERROR

sensor de llum entre + 5V i A7 pin i resistència de 10K entre A / pin i GND

Mòdul DS3231 connectat mitjançant pin i2c i SQW al pin d'interrupció 2 d'Arduino

Leds connectats a la resistència del pin 5 a 550Ohm.

Pas 3: l’esbós

Hi ha moltes personalitzacions que es poden fer a l’esbós.

Els paràmetres TimeChangeRule gestionen l'estalvi de la biblioteca amb horari d'estiu; consulteu la biblioteca JChristensen a Github per obtenir més informació.

L'aturada automàtica a l'interior del bucle és gestionada per la variable int gotosleep. En el meu cas, a les 0:00, Arduino entra en mode de repòs, i després el rellotge s'apaga.

Si configureu ALARM al mòdul DS3231 mitjançant la variable int gotosleep, permeteu que Arduino es desperti del mode de repòs. En el meu cas a les 7:00 del matí.

Una altra característica és canviar el color del rellotge durant la funció interior del dia:

void printDateTime (time_t t, const char * tz)

A la meva configuració des de les 0:00 fins a les 12:00, l'hora es mostra en vermell, de 12:00 a 17:00 en verd i de 17:00 a 0:00, principalment en blau. Aquest és el millor equilibri de colors trobat fins ara per obtenir un bon contrast amb la paret blanca que hi ha al darrere.

La funció de transicions permet tenir una transició de color animada quan es canvia el minut. Hi ha 6 diferents que es poden triar prement el botó momentani, la setena opció és sense transicions. El que m'agrada es diu newrandom () que és el valor predefinit (mode int = 1;).

He fet alguns canvis a la biblioteca per compatibilitat amb la seqüència de leds. Dins del fitxer segment_display.cpp, al final, canvieu (i) podeu modificar la vostra seqüència de leds. Un cop fet, substituïu el fitxer que hi ha a dins

/ Arduino / libraries / 7segment_NeoPixel-master

Biblioteques necessàries:

  • avr.sleep
  • segment_display
  • DS3231
  • TimeLib
  • Filferro
  • Adafruit NeoPixel
  • Fus horari

Pas 4: és hora de dir adéu

M'agrada aquest rellotge, l'hora actual és clarament visible des de lluny i s'apaga quan no ho necessito.

Com es pot demanar més a un rellotge?

Recomanat: