LA CAMPANA

Hay quienes leyeron esta noticia antes que tú.
Suscríbete para recibir artículos nuevos.
Correo electrónico
Nombre
Apellido
¿Cómo quieres leer La Campana?
Sin spam

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 una plantilla, dibujo caminos con un marcador y luego grabo.

El principio de adjuntar indicadores siguió 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 asiento para Arduino nano, reloj, así como salidas para conectar a la placa de visualización y sensores (fotorresistor para brillo automático y termómetro digital ds18s20) y una fuente de alimentación con voltaje de salida ajustable (para dispositivos grandes 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 el lm317.
¡ESTÁ VIVO!

Puedes encontrar muchos en oferta. varios modelos y opciones para relojes digitales electrónicos, pero la mayoría de ellos están diseñados para uso en interiores, ya que los números son pequeños. Sin embargo, a veces es necesario colocar un reloj en la calle, por ejemplo, en la pared de una casa, o en un estadio, plaza, es decir, donde muchas personas lo verán desde una gran distancia. Para ello, se desarrolló y montó con éxito este circuito de un gran reloj LED, al que se pueden conectar (mediante interruptores de transistores internos) los indicadores LED que se deseen. gran tamaño. Aumentar diagrama esquemático puedes hacer clic en él:

Descripción del reloj

  1. Mirar. En este modo hay un tipo estándar de visualización de la hora. Hay una corrección digital de la precisión del reloj.
  2. Termómetro. En este caso, el dispositivo mide la temperatura de la habitación o del aire exterior mediante un sensor. Rango de -55 a +125 grados.
  3. Se proporciona control de suministro de energía.
  4. Muestra información en el indicador alternativamente: un reloj y un termómetro.
  5. Para guardar configuraciones y configuraciones cuando se pierde 220V, se utiliza memoria no volátil.


La base del dispositivo es el ATMega8 MK, que se enciende configurando fusibles según la tabla:

Operación y gestión del reloj.

Cuando enciende el reloj por primera vez, aparecerá una pantalla de presentación publicitaria en la pantalla, después de lo cual cambiará a mostrar la hora. Presionando un botón SET_TIME el indicador irá en círculo desde el modo principal:

  • Modo de visualización de minutos y segundos. Si en este modo presionas simultáneamente el botón MÁS Y MENOS, entonces se restablecerán los segundos;
  • configurar los minutos de la hora actual;
  • configurar el reloj actual;
  • símbolo t. Establecer la duración de la visualización del reloj;
  • símbolo oh. Visualización del tiempo de los símbolos de indicación de temperatura externa (fuera);
  • la cantidad de corrección diaria de la precisión del reloj. Símbolo do y valor de corrección. Estableciendo límites de -25 a 25 seg. El valor seleccionado se sumará o restará de la hora actual todos los días a las 0 horas 0 minutos y 30 segundos. Para obtener más detalles, lea las instrucciones que se encuentran en el archivo con el firmware y los archivos de la placa de circuito impreso.

Poniendo el reloj

Mientras mantiene presionados los botones MÁS/MENOS Realizamos fijación acelerada de valores. Después de cambiar cualquier configuración, después de 10 segundos, los nuevos valores se escribirán en la memoria no volátil y se leerán desde allí cuando se vuelva a encender la alimentación. Las nuevas configuraciones entran en vigor durante la instalación. El microcontrolador monitorea la presencia de energía principal. Cuando está apagado, el dispositivo se alimenta desde una fuente interna. El diagrama del módulo de potencia redundante se muestra a continuación:


Para reducir el consumo de corriente, el indicador, los sensores y los botones se apagan, pero el reloj continúa contando el tiempo. En cuanto aparece la tensión de red de 220 V, se restablecen todas las funciones de indicación.


Dado que el dispositivo fue concebido como un gran reloj LED, tiene dos pantallas: una LED grande, para la calle, y una LCD pequeña, para una fácil configuración de la pantalla principal. La gran pantalla se encuentra a varios metros de la unidad de control y está conectada por dos cables de 8 hilos. Para controlar los ánodos del indicador externo, se utilizan interruptores de transistores de acuerdo con el diagrama que se encuentra en el archivo. Autores del proyecto: Alexandrovich & SOIR.

Este reloj está ensamblado en un chipset conocido: K176IE18 (contador binario para un reloj con generador de señal de campana),

K176IE13 (contador de reloj con alarma) y K176ID2 (convertidor de código binario a siete segmentos)

Cuando se enciende la alimentación, se escriben automáticamente ceros en el contador de horas y minutos y en el registro de memoria del despertador del chip U2. Para instalar

hora, presione el botón S4 (Configuración de hora) y manteniéndolo presionado, presione el botón S3 (Hora) - para configurar la hora o S2 (Min) - para configurar

minutos. En este caso, las lecturas de los indicadores correspondientes comenzarán a cambiar con una frecuencia de 2 Hz de 00 a 59 y luego nuevamente 00. En el momento de la transición

de 59 a 00 el contador de horas aumentará en uno. Configurar la hora de la alarma es lo mismo, solo necesitas mantenerla presionada

botón S5 (Configuración de alarma). Después de configurar la hora de la alarma, debe presionar el botón S1 para encender la alarma (contactos

cerrado). El botón S6 (Reset) se utiliza para forzar que los indicadores de minutos se restablezcan a 00 durante la configuración. Los LED D3 y D4 juegan un papel

puntos divisorios parpadeando a una frecuencia de 1 Hz. Los indicadores digitales en el diagrama están ubicados en el orden correcto, es decir. ven primero

indicadores de horas, dos puntos divisorios (LED D3 y D4) e indicadores de minutos.

El reloj utilizó resistencias R6-R12 y R14-R16 con una potencia de 0,25 W, el resto, 0,125 W. Resonador de cuarzo XTAL1 a una frecuencia de 32 768 Hz -

un reloj normal, los transistores KT315A se pueden reemplazar con cualquier silicio de baja potencia de la estructura adecuada, KT815A - con transistores

potencia promedio con un coeficiente de transferencia de corriente base estática de al menos 40, diodos: cualquier silicio de baja potencia. Altavoz de agudos BZ1

dinámico, sin generador incorporado, resistencia del devanado 45 Ohm. El botón S1 está naturalmente bloqueado.

Los indicadores utilizados son TOS-5163AG verde, puede utilizar cualquier otro indicador con cátodo común sin reducir

resistencia de las resistencias R6-R12. En la figura se puede ver el pinout de este indicador; las conclusiones se muestran de forma condicional, porque presentado

vista superior.

Después de ensamblar el reloj, es posible que necesite ajustar la frecuencia del oscilador de cristal. Esto se puede hacer con mayor precisión controlando digitalmente

usando un frecuencímetro, el período de oscilación es de 1 s en el pin 4 del microcircuito U1. Sintonizar el generador a medida que avanza el reloj requerirá un gasto significativamente mayor

tiempo. También es posible que tengas que ajustar el brillo de los LED D3 y D4 seleccionando la resistencia de la resistencia R5, para que todo

brillaba uniformemente. La corriente consumida por el reloj no supera los 180 mA.

El reloj funciona con una fuente de alimentación convencional montada en un microcircuito estabilizador positivo 7809 con un voltaje de salida de +9 V y una corriente de 1,5 A.

Les presento a su atención electrónica. reloj microcontrolador. El circuito del reloj es muy simple, contiene un mínimo de piezas y puede ser repetido por radioaficionados principiantes.

El diseño está ensamblado sobre un microcontrolador y un reloj de tiempo real DS1307.. Como indicador de la hora actual se utiliza un indicador LED de cuatro dígitos y siete segmentos (ultrabrillante, de color azul, que se ve bien en la oscuridad y, al mismo tiempo, el reloj desempeña el papel de una noche). luz). El reloj se controla mediante dos botones. Gracias al uso del chip de reloj en tiempo real DS1307, el algoritmo del programa resultó bastante simple. El microcontrolador se comunica con el reloj en tiempo real a través del bus I2C y está organizado por software.

Diagrama de reloj:

Lamentablemente hay un error en el diagrama:
— los terminales MK deben conectarse a las bases de los transistores:
РВ0 a Т4, РВ1 a Т3, РВ2 a Т2, РВ3 a Т1
o cambie la conexión de los colectores de transistores a los dígitos del indicador:
T1 a DP1….. T4 a DP4

Partes utilizadas en el circuito del reloj:

♦ Microcontrolador ATTiny26:

♦ reloj en tiempo real DS1307:

♦ Indicador LED de siete segmentos y 4 dígitos – FYQ-5641UB-21 con cátodo común (ultrabrillante, azul):

♦ cuarzo 32,768 kHz, con una capacitancia de entrada de 12,5 pF (se puede tomar de la placa base de la computadora), la precisión del reloj depende de este cuarzo:

♦ todos los transistores son estructuras NPN, puedes usar cualquiera (KT3102, KT315 y sus análogos extranjeros), yo usé BC547S
♦ estabilizador de voltaje de microcircuito tipo 7805
♦ todas las resistencias con una potencia de 0,125 vatios
♦ condensadores polares en tensión de funcionamiento no inferior a la tensión de alimentación
♦ fuente de alimentación de respaldo DS1307 – celda de litio CR2032 de 3 voltios

Para alimentar el reloj, puede utilizar cualquier cargador de teléfono móvil innecesario (en este caso, si el voltaje de salida cargador dentro de 5 voltios ± 0,5 voltios, parte del circuito es un estabilizador de voltaje en un microcircuito tipo 7805, se puede excluir)
El consumo actual del dispositivo es de 30 mA.
No es necesario instalar la batería de respaldo para el reloj DS1307, pero luego, si se corta la alimentación principal, será necesario volver a configurar la hora actual.
La placa de circuito impreso del dispositivo no se proporciona; el diseño fue ensamblado en una caja de un reloj mecánico defectuoso. El LED (con una frecuencia de parpadeo de 1 Hz, del pin SQW DS1307) sirve para separar las horas y los minutos en el indicador.

La configuración del microcontrolador es de fábrica: frecuencia de reloj: 1 MHz, no es necesario tocar los bits FUSE.

Algoritmo de operación del reloj(en Generador de algoritmos):

1. Configurar el puntero de la pila
2. Configuración del temporizador T0:
— frecuencia SK/8
- interrupciones de desbordamiento (a esta frecuencia preestablecida, la interrupción se llama cada 2 milisegundos)
3. Inicialización de puertos (los pines PA0-6 y PB0-3 están configurados como salida, PA7 y PB6 como entrada)
4. Inicialización del bus I2C (pines PB4 y PB5)
5. Comprobación del séptimo bit (CH) del registro cero DS1307
6. Habilitación de interrupción global
7. Entrar en un bucle y comprobar si se pulsa un botón

Cuando se enciende por primera vez, o se vuelve a encender si no hay energía de respaldo para el DS307, la hora actual se restablece a la configuración original. En este caso: botón S1 – para configurar la hora, botón S2 – pasa al siguiente dígito. Establezca la hora: las horas y los minutos se escriben en el DS1307 (los segundos se configuran en cero) y el pin SQW/OUT (séptimo pin) se configura para generar pulsos de onda cuadrada con una frecuencia de 1 Hz.
Cuando presiona el botón S2 (S4 - en el programa), se desactiva la interrupción global, el programa entra en la subrutina de corrección de tiempo. En este caso, utilizando los botones S1 y S2 se configuran decenas y unidades de minutos, luego, a partir de 0 segundos, al presionar el botón S2 se registra el tiempo actualizado en el DS1307, se resuelve la interrupción global y se regresa al programa principal.

El reloj mostró buena precisión, la pérdida de tiempo por mes fue de 3 segundos.
Para mejorar la precisión, se recomienda conectar cuarzo al DS1307, como se indica en la hoja de datos:

El programa está escrito en el entorno Algorithm Builder.
Usando el programa de reloj como ejemplo, puede familiarizarse con el algoritmo de comunicación entre el microcontrolador y otros dispositivos a través del bus I2C (cada línea está comentada en detalle en el algoritmo).

Foto del dispositivo ensamblado y la placa de circuito impreso en formato .lay del lector del sitio Anatoly Pilguk, ¡por lo cual muchas gracias!

El dispositivo utiliza: Transistores - SMD BC847 y resistencias CHIP

Anexos al artículo:

(42,9 KiB, 3227 visitas)

(6,3 KiB, 4180 visitas)

(3,1 KiB, 2657 visitas)

(312,1 KiB, 5.929 visitas)


La segunda versión del programa del reloj en AB (para aquellos que no pueden descargar la superior)

(11,4 KiB, 1.942 visitas)

en esto instrucciones paso a paso Te diré cómo hacer un reloj de pared con tus propias manos.

Características del reloj:

  • Números grandes (cada número es aproximadamente igual al tamaño de una hoja A4).
  • Paredes delgadas (se pueden insertar en un marco de imagen).
  • Ajuste automático en función de la luminosidad de la iluminación de la habitación.
  • Botón dedicado al horario de verano.

Paso 1: Materiales necesarios


Lo usé para un reloj de pared digital con números grandes.

Electrónica:

  • Arduino nano V3.0 (desafortunadamente, como no puedo permitirme el Arduino original, usé un clon chino): 150 rublos.
  • Módulo digital para medir la intensidad de la luz Fotorresistor para Arduino - 60 rublos.
  • Módulo de memoria DS3231 AT24C32 IIC para tiempo preciso para Arduino - 60 rublos.
  • Convertidor CC-CC LM2596, potencia de salida 1,23 V-30 V - 50 rublos.
  • 4 metros de tira de LED WS2811 30 diodos/m - 700 rublos. (un WS2811 controla 3 chips LED)

Costo total de la electrónica: 900 rublos.

Otros materiales:

  • Tubo termocontraíble - 400 rublos (33 m en stock)
  • 20 uds. Placa de circuito impreso de 5 x 7 cm - 200 rublos.
  • 3 uds. Microinterruptor - 60 rublos.
  • Soldadura - 50 rublos
  • Flujo - 50 rublos.
  • Cable UTP (par trenzado sin blindaje)
  • Fuente LCD (http://www.dafont.com/lcd-lcd-mono.font) - gratuita.
  • El cartón es gratis en el supermercado.
  • Panel de poliestireno - 100 rublos.

Así como diversas herramientas.

Paso 2: Preparación - Patrones numéricos


  1. Descargue e instale la fuente del reloj
  2. Abre Word u otro programa y crea una plantilla como la de la primera foto.
  • Tamaño de fuente ~ 800,
  • Fuente blanco con contorno negro,
  • Franjas grises donde estarán las tiras de LED

Imprime la plantilla y recorta las rayas con un cúter (como en la segunda foto)

Paso 3: Preparación: cortar cartón y tira de LED

Usando la plantilla digital, corta la cartulina a medida (recuerda dejar espacio para los puntos entre las horas y los minutos)

Si tus tiras de LED vienen con un conector en cada extremo (como la mía), desconecta el conector y córtalas en 3 pedazos.

Paso 4: coloque la tira de LED


Usando la plantilla, pegue tira de LED sobre cartón.

Esto no es necesario, pero utilicé un lápiz para marcar dónde se deben colocar las tiras de LED.

Es mucho más cómodo pegarlos cuando veas la forma final. Gracias a esto, noté que había dejado demasiado espacio para los puntos entre los números y lo corregí a tiempo.

Paso 5: soldar la tira de LED


Ahora comienza el largo proceso de soldadura.

Suelde la tira de LED para formar una tira continua. Presta atención al orden en que se sueldan las tiras en la foto. Para los puntos, utilicé un trozo de cinta adhesiva y lo pegué con cinta adhesiva en el medio.

Colores que elegí:

  • Azul para la tierra
  • Verde para datos
  • Rojo para +12V

Paso 6: Instalar el Arduino en la PCB


Intenté dibujar en Fritzing pero no pude encontrar todos los detalles :)

Entonces, la primera foto muestra el diagrama de cableado y la segunda foto muestra cómo se ve para mí.

Paso 7: verificación de LED

Antes de cargar el código (con el que no tengo nada que ver), asegúrese de instalar la biblioteca FastLED.

Si todo funciona bien, los LED deberían alternar entre colores. Si tiene problemas, primero revise su soldadura.

Archivos

Paso 8: programa el reloj

Después de un tiempo, logré hacer un reloj que se adapta perfectamente a mí. Sin embargo, todos encontrarán algo que se puede mejorar.

El código está bien comentado, por lo que no debería haber ningún problema con él.

Todos los mensajes de depuración también están comentados.

Para cambiar el color usado, debes cambiar la variable en la línea 22 (int ledColor = 0x0000FF; // Color usado (en hexadecimal)). Puedes encontrar una lista de colores al final de esta página.



LA CAMPANA

Hay quienes leyeron esta noticia antes que tú.
Suscríbete para recibir artículos nuevos.
Correo electrónico
Nombre
Apellido
¿Cómo quieres leer La Campana?
Sin spam