Cómo hacer tu propio cronómetro a partir de un reloj electrónico. Relojes electrónicos - Relojes - Diseños para casa y jardín

La foto muestra un prototipo que monté para depurar el programa que gestionará toda esta instalación. El segundo arduino nano en la esquina superior derecha de la placa no pertenece al proyecto y sobresale así, no tienes que prestarle atención.

Un poco sobre el principio de funcionamiento: Arduino toma datos del temporizador DS323, los procesa, determina el nivel de luz mediante un fotorresistor, luego envía todo al MAX7219 y este, a su vez, ilumina los segmentos requeridos con el brillo requerido. Además, utilizando tres botones, puede configurar el año, mes, día y hora como desee. En la foto, los indicadores muestran el tiempo y la temperatura, tomados de un sensor de temperatura digital.

La principal dificultad en mi caso es que los indicadores de 2,7 pulgadas tienen un ánodo común y, en primer lugar, tuvieron que hacerse amigos de alguna manera con el max7219, que está diseñado para indicadores con un cátodo común, y en segundo lugar, resolver el problema con sus fuente de alimentación, ya que necesitan 7,2 voltios para brillar, que el max7219 por sí solo no puede proporcionar. Después de pedir ayuda en un foro, recibí una respuesta.

Solución en la captura de pantalla:


A las salidas de los segmentos del max7219 se adjunta un microcircuito que invierte la señal, y a cada pin se adjunta un circuito de tres transistores que deben conectarse al cátodo común de la pantalla, que también invierten su señal y aumentan el voltaje. Por lo tanto, tenemos la oportunidad de conectar pantallas con un ánodo común y una tensión de alimentación de más de 5 voltios al max7219.

Conecté un indicador para la prueba, todo funciona, nada fuma

Empecemos a coleccionar.

Decidí dividir el circuito en 2 partes debido a la gran cantidad de puentes en la versión que estaba separada por mis patas torcidas, donde todo estaba en un solo tablero. El reloj estará compuesto por una unidad de visualización y una unidad de potencia y control. Se decidió recoger primero este último. Pido a los estetas y radioaficionados experimentados que no se desmayen por el trato cruel de las piezas. No tengo ningún deseo de comprar una impresora por el bien de LUT, así que lo hago a la antigua usanza: practico en una hoja de papel, hago agujeros según la plantilla, dibujo caminos con un marcador y luego grabo.

El principio de adjuntar indicadores sigue siendo el mismo que en adelante.

Marcamos la posición de los indicadores y componentes mediante una plantilla de plexiglás hecha para mayor comodidad.

Proceso de marcado







Luego, usando una plantilla, perforamos agujeros en los lugares correctos y probamos todos los componentes. Todo encaja perfectamente.

Dibujamos caminos y grabamos.




bañarse en cloruro férrico

¡Listo!
tablero de control:


tablero de indicación:


El tablero de control resultó excelente, la pista en el tablero de visualización no se comió críticamente, se puede arreglar, es hora de soldar. Esta vez perdí mi virginidad SMD e incluí componentes 0805 en el circuito. Como mínimo, se soldaron las primeras resistencias y condensadores. Creo que mejoraré en eso, será más fácil.
Para soldar utilicé fundente que compré. Soldar con él es un placer; ahora uso colofonia con alcohol solo para estañar.

Aquí están los tableros terminados. El tablero de control tiene un asiento para un Arduino nano, un reloj, así como salidas para conectar al tablero de visualización y sensores (un fotorresistor para brillo automático y un termómetro digital ds18s20) y una fuente de alimentación con voltaje de salida ajustable (para grandes dispositivos de siete segmentos) y para alimentar el reloj y Arduino, en el tablero de visualización hay enchufes de montaje para pantallas, enchufes para max2719 y uln2003a, una solución para alimentar cuatro dispositivos grandes de siete segmentos y un montón de puentes.




tablero de control trasero

Tablero de visualización trasero:

Pésima instalación de smd:


Lanzamiento

Después de soldar todos los cables, botones y sensores, llega el momento de encenderlo todo. El primer lanzamiento reveló varios problemas. El último indicador grande no se encendió y el resto brillaba tenuemente. Resolví el primer problema soldando la pata del transistor SMD, y el segundo ajustando el voltaje producido por lm317.
¡ESTÁ VIVO!

Para aquellos que tienen al menos un poco de conocimiento sobre microcontroladores y además quieren crear un dispositivo sencillo y útil para el hogar, no hay nada mejor que un montaje con indicadores LED. Tal cosa puede decorar su habitación o puede usarse como un regalo único hecho a mano, del cual adquirirá un valor adicional. El circuito funciona como un reloj y como un termómetro: los modos se cambian con un botón o automáticamente.

Esquema eléctrico de un reloj casero con termómetro.

Microcontrolador PIC18F25K22 se encarga de todo el procesamiento de datos y el tiempo, y comparte ULN2803A Ya sólo queda coordinar sus salidas con el indicador LED. pequeño chip DS1302 funciona como un temporizador de segundas señales precisas, su frecuencia está estabilizada por un resonador de cuarzo estándar de 32768 Hz. Esto complica un poco el diseño, pero no tendrá que ajustar y ajustar constantemente la hora, lo que inevitablemente se retrasará o acelerará si se las arregla con un resonador de cuarzo desafinado aleatorio de unos pocos MHz. Un reloj como este es más un simple juguete que un reloj preciso y de alta calidad.

Si es necesario, los sensores de temperatura se pueden ubicar lejos de la unidad principal; están conectados a ella con un cable de tres hilos. En nuestro caso, un sensor de temperatura está instalado en el bloque y el otro en el exterior, sobre un cable de unos 50 cm de largo. Cuando probamos un cable de 5 m, también funcionó perfectamente.

La pantalla del reloj está formada por cuatro grandes indicadores digitales LED. Originalmente eran cátodos comunes, pero se cambiaron a ánodos comunes en la versión final. Puede instalar cualquier otro, luego simplemente seleccione las resistencias limitadoras de corriente R1-R7 según el brillo requerido. Podrías colocarlo en una placa común con la parte electrónica del reloj, pero esto es mucho más universal: de repente quieres colocar un indicador LED muy grande para que se puedan ver desde una gran distancia. Aquí se muestra un ejemplo de este tipo de diseño de reloj de calle.

La electrónica en sí comienza con 5 V, pero para que los LED brillen intensamente es necesario usar 12 V. Desde la red, la energía se suministra a través de un adaptador de transformador reductor al estabilizador. 7805 , que produce un voltaje estrictamente de 5 V. Preste atención a la pequeña batería cilíndrica verde: sirve como fuente de energía de respaldo en caso de que se pierda la red de 220 V. No es necesario llevarla a 5 V (una de litio de 3,6). La batería de iones o Ni-MH tiene suficientes voltios.

Para el caso, puede utilizar varios materiales: madera, plástico, metal o integrar toda la estructura de un reloj casero en uno industrial ya hecho, por ejemplo, desde un multímetro, un sintonizador, un receptor de radio, etc. Lo hicimos de plexiglás porque es fácil de procesar y permite ver el interior para que todos puedan verlo: este reloj fue ensamblado con sus propias manos. Y, lo más importante, estaba disponible :)

Aquí puede encontrar todos los detalles necesarios del diseño de reloj digital casero propuesto, incluido el diagrama del circuito, el diseño de la PCB, el firmware PIC y

¡Hola geektimes! La primera parte del artículo analiza los principios para obtener la hora exacta con un reloj casero. Vayamos más allá y consideremos cómo y para qué es mejor mostrar esta vez.

1. Dispositivos de salida

Entonces, tenemos una determinada plataforma (Arduino, Raspberry, controlador PIC/AVR/STM, etc.), y la tarea es conectarle algún tipo de indicación. Hay muchas opciones que consideraremos.

Visualización de segmentos

Aquí todo es sencillo. El indicador de segmento consta de LED convencionales que simplemente se conectan al microcontrolador mediante resistencias de extinción.

¡Cuidado con el tráfico!

Ventajas: simplicidad de diseño, buenos ángulos de visión, precio reducido.
Contras: La cantidad de información que se muestra es limitada.
Hay dos tipos de diseños de indicadores, con un cátodo común y un ánodo común en su interior; se ve así (diagrama del sitio web del fabricante);

Hay 1001 artículos sobre cómo conectar un LED a un microcontrolador, Google puede ayudar. Las dificultades comienzan cuando queremos hacer un reloj grande; después de todo, mirar un indicador pequeño no es particularmente conveniente. Entonces necesitamos los siguientes indicadores (foto de eBay):

Funcionan con 12 V y simplemente no funcionan directamente desde el microcontrolador. Aquí es donde el microcircuito viene en nuestra ayuda. CD4511, sólo para este propósito. No solo convierte datos de una línea de 4 bits a los números deseados, sino que también contiene un interruptor de transistor incorporado para suministrar voltaje al indicador. Por lo tanto, en el circuito necesitaremos tener un voltaje de "alimentación" de 9-12 V y un convertidor reductor separado (por ejemplo, L7805) para alimentar la "lógica" del circuito.

Indicadores matriciales

En esencia, estos son los mismos LED, solo que en forma de matriz de 8x8. Foto de eBay:

Se venden en eBay en forma de módulos individuales o bloques prefabricados, por ejemplo de 4 piezas. Gestionarlos es muy sencillo: ya hay un microcircuito soldado en los módulos. MAX7219, asegurando su funcionamiento y conexión al microcontrolador mediante sólo 5 cables. Hay muchas bibliotecas para Arduino, cualquiera puede consultar el código.
Ventajas: precio reducido, buenos ángulos de visión y brillo.
Contras: baja resolución. Pero para la tarea de inferencia, el tiempo es suficiente.

Indicadores LCD

Los indicadores LCD pueden ser gráficos o de texto.

Los gráficos son más caros, pero permiten mostrar información más variada (por ejemplo, un gráfico de presión atmosférica). Los de texto son más baratos y más fáciles de trabajar, también le permiten mostrar pseudográficos; es posible cargar símbolos personalizados en la pantalla.

Trabajar con un indicador LCD a partir de código no es difícil, pero existe un cierto inconveniente: el indicador requiere muchas líneas de control (de 7 a 12) del microcontrolador, lo cual es un inconveniente. Por lo tanto, a los chinos se les ocurrió la idea de combinar un indicador LCD con un controlador i2c, lo que resultó ser muy conveniente: solo 4 cables son suficientes para la conexión (foto de eBay).


Los indicadores LCD son bastante económicos (si los compra en eBay), grandes, fáciles de conectar y pueden mostrar una variedad de información. El único inconveniente es que los ángulos de visión no son muy grandes.

Indicadores OLED

Son una continuación mejorada de la versión anterior. Hay desde pequeños y baratos con una diagonal de 1,1" hasta grandes y caros. Foto de eBay.

La verdad es que están bien en todo menos en el precio. En cuanto a los indicadores pequeños, de 0,9-1,1" de tamaño, (excepto para aprender a trabajar con i2c) es difícil encontrarles un uso práctico.

Indicadores de descarga de gas (IN-14, IN-18)

Estos indicadores son ahora muy populares, aparentemente debido al “cálido sonido del tubo de la luz” y la originalidad del diseño.


(foto de nocrotec.com)

Su diagrama de conexión es algo más complicado, porque Estos indicadores utilizan un voltaje de 170 V para el encendido. Se puede hacer un convertidor de 12V=>180V en un microcircuito. MAX771. Se utiliza un microcircuito soviético para suministrar voltaje a los indicadores. K155ID1, que fue creado específicamente para este propósito. El precio de emisión para la producción propia: alrededor de 500 rublos por cada indicador y 100 rublos por el K155ID1, todas las demás piezas, como escribieron en revistas antiguas, "no escasean". La principal dificultad aquí es que tanto IN-xx como K155ID1 llevan mucho tiempo fuera de producción y solo se pueden comprar en mercados de radio o en algunas tiendas especializadas.

2. Selección de plataforma

Más o menos hemos descubierto la pantalla, solo queda decidir qué plataforma de hardware es mejor usar. Aquí hay varias opciones (no estoy considerando las caseras, porque aquellos que saben cómo enrutar una placa y soldar un procesador no necesitan este artículo).

arduino

La opción más sencilla para principiantes. La placa terminada es económica (alrededor de $10 en eBay con envío gratis) y tiene todos los conectores necesarios para la programación. Foto de eBay:

Hay una gran cantidad de bibliotecas diferentes bajo Arduino (por ejemplo, para las mismas pantallas LCD, módulos en tiempo real), Arduino es compatible con hardware con varios módulos adicionales.
La principal desventaja: la complejidad de la depuración (sólo a través de la consola del puerto serie) y un procesador bastante débil para los estándares modernos (2 KB de RAM y 16 MHz).
La principal ventaja: puedes hacer muchas cosas, prácticamente sin preocuparte por soldar, comprar un programador y placas de cableado, solo necesitas conectar los módulos entre sí;

Procesadores STM de 32 bits

Para aquellos que quieran algo más potente, existen placas preparadas con procesadores STM, por ejemplo una placa con STM32F103RBT6 y una pantalla TFT. Foto de eBay:

Aquí ya tenemos una depuración completa en un IDE completo (de todos los diferentes, me gustó más el IDE de Coocox), sin embargo, necesitaremos un programador-depurador ST-LINK separado con un conector JTAG (el problema El precio es de 20 a 40 dólares en eBay). Alternativamente, puede comprar la placa de desarrollo STM32F4Discovery, en la que este programador ya está integrado, y puede usarse por separado.

Frambuesa PI

Y finalmente, para aquellos que desean una integración total con el mundo moderno, existen computadoras de placa única con Linux, probablemente ya conocidas por todos: Raspberry PI. Foto de eBay:

Se trata de una computadora completa con Linux, un gigabyte de RAM y un procesador de 4 núcleos a bordo. En el borde de la placa hay un panel de 40 pines que le permite conectar varios periféricos (los pines están disponibles en código, por ejemplo en Python, sin mencionar C/C++), también hay un USB estándar en forma de 4 conectores (puedes conectar WiFi). También hay HDMI estándar.
La potencia de la placa es suficiente, por ejemplo, no sólo para mostrar la hora, sino también para ejecutar un servidor HTTP para configurar parámetros a través de una interfaz web, cargar un pronóstico del tiempo a través de Internet, etc. En general, hay mucho margen para la fantasía.

Solo hay una dificultad con Raspberry (y los procesadores STM32): sus pines usan lógica de 3V y la mayoría de los dispositivos externos (por ejemplo, pantallas LCD) funcionan a la antigua usanza desde 5V. Por supuesto, puedes conectarlo de esta manera y, en principio, funcionará, pero este no es el método correcto y es una pena arruinar una placa de 50 dólares. La forma correcta es utilizar un “convertidor de nivel lógico”, que cuesta sólo entre 1 y 2 dólares en eBay.
Foto de eBay:

Ahora basta con conectar nuestro dispositivo a través de dicho módulo y todos los parámetros serán consistentes.

ESP8266

El método es bastante exótico, pero bastante prometedor debido a la compacidad y el bajo coste de la solución. Por muy poco dinero (entre 4 y 5 dólares en eBay) puedes comprar un módulo ESP8266 que contiene un procesador y WiFi a bordo.
Foto de eBay:

Inicialmente, estos módulos estaban pensados ​​como un puente WiFi para el intercambio a través de un puerto serie, pero los entusiastas han escrito muchos firmware alternativos que les permiten trabajar con sensores, dispositivos i2c, PWM, etc. Hipotéticamente, es muy posible recibir la hora desde un servidor NTP y envíelo a través de i2c a la pantalla. Para aquellos que quieran conectar muchos periféricos diferentes, existen placas NodeMCU especiales con una gran cantidad de pines, el precio es de unos 500 rublos (por supuesto, en eBay):

El único inconveniente es que el ESP8266 tiene muy poca RAM (dependiendo del firmware, de 1 a 32 KB), pero esto hace que la tarea sea aún más interesante. Los módulos ESP8266 usan lógica de 3V, por lo que el convertidor de nivel anterior también será útil aquí.

Con esto concluye la introducción a la electrónica casera; el autor desea a todos éxito en los experimentos.

En lugar de una conclusión

Finalmente me decidí por usar una Raspberry PI con un indicador de texto configurado para funcionar con pseudográficos (que resultó ser más barato que una pantalla gráfica de la misma diagonal). Tomé una foto de la pantalla del reloj del escritorio mientras escribía este artículo.

El reloj muestra la hora exacta extraída de Internet y el clima, que se actualiza desde Yandex, todo esto está escrito en Python y funciona bastante bien desde hace varios meses. Al mismo tiempo, se ejecuta un servidor FTP en el reloj, lo que permite (junto con el reenvío de puertos en el enrutador) actualizar el firmware no solo desde casa, sino también desde cualquier lugar donde haya Internet. Como beneficio adicional, los recursos de Raspberry son, en principio, suficientes para conectar una cámara y/o micrófono con la capacidad de monitorear remotamente el apartamento, o controlar varios módulos/relés/sensores. Puede agregar todo tipo de "objetos", como una indicación LED de correo entrante, etc.

PD: ¿Por qué eBay?
Como puede ver, se dieron precios o fotografías de eBay para todos los dispositivos. ¿Por qué es así? Desafortunadamente, nuestras tiendas a menudo se rigen por el principio de “comprar por 1 dólar, vender por 3 dólares y vivir de ese 2 por ciento”. Como ejemplo simple, Arduino Uno R3 cuesta (en el momento de escribir este artículo) 3600 rublos en San Petersburgo y 350 rublos en eBay con envío gratuito desde China. La diferencia es verdaderamente de un orden de magnitud, sin exageración literaria alguna. Sí, tendrás que esperar un mes para recoger el paquete en la oficina de correos, pero creo que esa diferencia de precio merece la pena. Pero, sin embargo, si alguien lo necesita ahora y con urgencia, probablemente en las tiendas locales haya una opción, aquí cada uno decide por sí mismo.

Reloj de pulsera casero con indicador de vacío, realizado en estilo steampunk. Material tomado de www.johngineer.com. Este reloj de pulsera está ensamblado sobre la base de la pantalla IVL-2. Originalmente compré varios de estos indicadores para crear un reloj de mesa estándar, pero después de pensarlo un poco me di cuenta de que también podía construir un reloj de pulsera elegante. El indicador tiene una serie de características que lo hacen más adecuado para este propósito que la mayoría de las pantallas soviéticas. Aquí están los parámetros:

  • La corriente nominal del filamento es de 60 mA 2,4 V, pero funciona con 35 mA 1,2 V.
  • Tamaño pequeño: sólo 1,25 x 2,25"
  • Puede funcionar con un voltaje de red relativamente bajo de 12 V (hasta 24)
  • Consume sólo 2,5 mA/segmento a 12,5 V

Todas las fotos se pueden ampliar haciendo clic sobre ellas. El mayor obstáculo para la finalización exitosa del proyecto fue la comida. Dado que este reloj fue pensado para ser parte de un disfraz, no importa que la batería solo dure 10 horas. Me decidí por AA y AAA.

El esquema es bastante simple. Microcontrolador Atmel AVR ATMega88 y reloj en tiempo real - DS3231. Pero hay otros chips, mucho más baratos, que funcionarán igual de bien en un generador.

La pantalla VFD está controlada por el MAX6920, un registro de desplazamiento de 12 bits con salidas de alto voltaje (hasta 70 V). Es fácil de usar, muy confiable y compacto. También era posible que el controlador de pantalla soldara un montón de componentes discretos, pero esto no era práctico debido a limitaciones de espacio.

El voltaje de la batería también alimenta un convertidor elevador de 5 V (MCP1640 SOT23-6), que es necesario para el funcionamiento normal del AVR, DS3231 y MAX6920, y también actúa como voltaje de entrada para un segundo convertidor elevador (NCP1403 SOT23-5). que produce 13 V para el voltaje de la red del indicador de vacío.

El reloj tiene tres sensores: uno analógico y dos digitales. El sensor analógico es un fototransistor y se utiliza para detectar el nivel de luz (Q2). Sensores digitales: BMP180 - presión y temperatura, y MMA8653 - acelerómetro para detección de movimiento. Ambos sensores digitales están conectados a través de un bus I2C al DS3231.

Se sueldan tubos de latón para embellecer y proteger la pantalla de cristal del reloj de pulsera, y se utilizan cables de cobre de 2 mm de espesor para sujetar la correa de cuero. El diagrama del circuito completo no se proporciona en el artículo original; consulte la conexión en las hojas de datos a los microcircuitos indicados.




Arriba