Tabla de contenido:
- Paso 1: Lista de materiales
- Paso 2: grabado y tallado
- Paso 3: lijar y aplicar barniz
- Paso 4: Hacer el circuito
- Paso 5: carga del programa
- Paso 6: Colocación de los LED
- Paso 7: Conexión de LED
- Paso 8: Conexión de la placa de circuito con los LED
- Paso 9: Colocación de las canicas
Video: Reloj de escritorio binario: 9 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Los relojes binarios son increíbles y exclusivos para la persona que conoce el binario (el lenguaje de los dispositivos digitales). Si eres un técnico, este extraño reloj es para ti. Entonces, ¡haz uno tú mismo y mantén tu tiempo en secreto!
Encontrará muchos relojes binarios de diferentes tipos en Internet. Incluso puede comprar un reloj binario en una tienda en línea como amazon.com. Pero este reloj es diferente a todos y aquí usé jugar al mármol para darle un aspecto elegante.
Antes de bajar, mire el video de demostración.
Paso 1: Lista de materiales
Componentes de hardware
1. Arduino Pro Micro (comprar en aliexpress.com): este es el corazón principal del reloj y lee la hora del RTC y da instrucciones para conducir los LED en consecuencia. Puede usar Arduino Nano incluso Arduino Uno en lugar de Pro Micro si el tamaño no le importa.
2. Módulo DS3231 RTC (compre en aliexpress.com): El DS3231 RTC realiza un seguimiento del tiempo incluso cuando se corta la energía. Aunque se pueden utilizar otros RTC como DS1307, el DS3231 es más preciso.
3. IC del controlador LED MAX7219CNG (comprar en aliexpress.com): Arduino tiene un número limitado de pines. Entonces, si desea manejar toneladas de LED sin desperdiciar los pines Arduino, MAX7219 es el salvavidas. Toma datos en serie y puede controlar 64 LED de forma independiente.
4. LED azul de 20 piezas, 5 mm (comprar en aliexpress.com): el azul dio el mejor resultado para mí. Puedes probar con otros colores.
5. 20 PCS Playing Marble (comprar en aliexpress.com): Se utilizó mármol de juego de tamaño estándar. El mármol debe ser transparente para que pase la luz.
6. Resistencia 10K: Se utiliza para controlar la corriente del segmento del IC MAX7219. Consulte la hoja de datos para conocer el valor exacto para diferentes segmentos de corriente.
7. Alambres
8. Prototipo de placa PCB (comprar en aliexpress.com): utilicé un prototipo de placa PCB para MAX7219 IC con una base IC. También puede diseñar su placa PCB personalizada.
Herramientas de hardware
1. Máquina enrutadora CNC de madera con grabador láser CNC 3018 PRO (compre en aliexpress.com): la máquina de GNC Theis DIY se utilizó para tallar en la madera para mármol y LED. Esta es una máquina excelente con un precio bajo para cualquier fabricante y aficionado.
2. Estación de soldadura (compre una en aliexpress.com): se requiere algo de soldadura para el proyecto y un buen soldador es una herramienta imprescindible para un fabricante. 60W es una buena opción para la soldadura de bricolaje.
3. Cortador de alambre (comprar en aliexpress.com)
4. Fresa de extremo de carburo recubierto de titanio para CNC (cómprela en aliexpress.com): también puede probar con la broca proporcionada con la máquina. En ese caso, debería realizar algunos cambios en el diseño.
Paso 2: grabado y tallado
Tomé una pieza de madera Soft Maple de 165X145X18.8 mm para colocar los LED del reloj. En la parte superior de cada led, colocaré una canica y el tamaño de una canica de juego estándar es de 15,5 mm de diámetro. Entonces, hice agujeros de 15,7 mm con una profundidad de 7 mm. En el centro del agujero hice un taladro de 5 mm para colocar el LED. Todo el texto se realizó con 2 mm de profundidad. Puede aumentar o disminuir la profundidad de su elección. También puede intentar grabar con láser el texto.
El diseño completo fue realizado por Easel de Inventables. Easel es una plataforma de software basada en la web que le permite diseñar y tallar desde un solo programa simple y la mayoría de las funciones son de uso gratuito. Solo necesita iniciar sesión en el sistema creando una cuenta o utilizando Gmail.
Easel Pro es un software en la nube basado en membresías que se basa en el software gratuito Easel de Inventables. Easel y Easel Pro minimizan las barreras asociadas con el complicado software de fabricación de productos CAD y CAM, lo que facilita a los usuarios la producción de productos físicos.
Con Easel puede exportar el archivo de diseño en formato de código G o configurar directamente su CNC desde el entorno de Easel y enviar el comando al CNC. En ese caso, debe instalar el controlador para el caballete. También puede importar un código G creado previamente en el IDE de Easel y modificarlo. Incluí el archivo de diseño adjunto. Puede modificar fácilmente el diseño de acuerdo con su elección utilizando Easel.
Paso 3: lijar y aplicar barniz
El barniz puede proporcionar un hermoso acabado a proyectos y pinturas de madera. Antes de aplicar barniz a la madera, lije su pieza y limpie su espacio de trabajo. El lijado da un aspecto suave y prepara la madera para el barniz. Aplicar el barniz en varias capas delgadas, dejando que cada una se seque completamente antes de pasar a la siguiente. Para barnizar una pintura, déjela secar por completo y luego cepille con cuidado el barniz. Una capa es suficiente para muchas pinturas, pero puede agregar una capa adicional siempre que primero deje que la anterior se seque completamente.
Antes de aplicar el barniz, debe eliminar las imperfecciones y las imperfecciones antes de aplicar el barniz. Para hacer eso, use papel de lija de grano 100 para las piezas sin terminar y trabaje con la veta de la madera. Lijar suavemente hasta que la pieza esté suave. Después de limpiar la pieza de madera, aplique el barniz en un área bien ventilada.
El barniz protege la madera del polvo y la humedad ambientales, pero puede afectar el color de la madera.
Paso 4: Hacer el circuito
El componente principal del reloj es una placa de microcontrolador Arduino Pro Mini y un módulo RTC DS3231. La conexión del Arduino Pro Mini y el módulo RTC es muy sencilla. Debe conectar el pin SDA del módulo RTC al pin SDA del Arduino y el pin SCL del módulo RTC al pin SCL del Arduino. Los pines SDA y SCL son en realidad pines A4 y A5 de Arduino respectivamente. También necesita hacer una conexión a tierra común entre los módulos Arduino y RTC. Usé cables de puente para hacer las conexiones.
La conexión entre Arduino y DS3231 RTC:
Arduino | DS3231 |
---|---|
SCL (A5) | SCL |
SDA (A4) | SDA |
5V | VCC |
GND | GND |
Para mostrar la hora, los minutos y los segundos, un reloj binario requería 20 LED. Si desea mostrar la fecha, requiere más. La placa Arduino tiene una limitación de los pines GPIO. Entonces, utilicé el IC del controlador LED MAX7219CNG para conducir toneladas de LED usando solo tres pines de la placa Arduino.
El controlador IC MAX7219 es capaz de manejar 64 LED individuales mientras usa solo 3 cables para la comunicación con el Arduino, y lo que es más, podemos conectar en cadena múltiples controladores y matrices y aún usar los mismos 3 cables.
Los 64 LED funcionan con 16 pines de salida del IC. La pregunta ahora es cómo es posible. Bueno, el número máximo de LED que se encienden al mismo tiempo es en realidad ocho. Los LED están dispuestos como un conjunto de filas y columnas de 8 × 8. Entonces, el MAX7219 activa cada columna durante un período de tiempo muy corto y, al mismo tiempo, también impulsa cada fila. Entonces, al cambiar rápidamente a través de las columnas y filas, el ojo humano solo notará una luz continua.
El VCC y GND del MAX7219 van a los pines 5V y GND del Arduino y los otros tres pines, DIN, CLK y CS van a cualquier pin digital de la placa Arduino. Si queremos conectar más de un módulo, simplemente conectamos los pines de salida de la placa de conexión anterior a los pines de entrada del nuevo módulo. En realidad, estos pines son todos iguales, excepto que el pin DOUT de la placa anterior va al pin DIN de la nueva placa.
La conexión entre Arduino y MAX7219CNG:
Arduino | MAX7219 |
---|---|
D12 | ESTRUENDO |
D11 | CLK |
D10 | CARGA |
GND | GND |
Paso 5: carga del programa
Todo el programa está escrito en entorno Arduino. Se utilizaron dos bibliotecas externas para el boceto. Uno es para el módulo RTC y otro es para el MAX7219 IC. Descargue las bibliotecas del enlace y agréguelas al IED de Arduino antes de compilar el programa.
Cargar el programa en Arduino Pro Mini es un poco complicado. Eche un vistazo al tutorial si nunca ha usado Arduino Pro Mini antes:
/*
GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> * / #include "Wire.h" #include "DS3231.h" #include "LedControl.h" / * Ahora necesitamos un LedControl para trabajar. ***** Estos números de pin probablemente no funcionarán con su hardware ***** El pin 12 está conectado al DataIn El pin 11 está conectado al CLK El pin 10 está conectado a LOAD Solo tenemos un MAX72XX. * / Reloj DS3231; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int segundos, minutos, horas; número de byte [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; configuración vacía () {//Serial.begin(9600); / * El MAX72XX está en modo de ahorro de energía al inicio, tenemos que hacer una llamada de activación * / lc.shutdown (0, false); / * Establece el brillo en valores medios * / lc.setIntensity (0, 15); / * y borrar la pantalla * / lc.clearDisplay (0); //lc.setLed(0, fila, columna, verdadero); // lc.setRow (0, 0, B11111111); // lc.setRow (0, 1, B11111111); // lc.setRow (0, 2, B11111111); // lc.setRow (0, 3, B11111111); // lc.setRow (0, 4, B11111111); // lc.setRow (0, 5, B11111111); // lc.setColumn (0, 2, B11111111); // lc.setColumn (0, 3, B11111111); // lc.setColumn (0, 4, B11111111); // lc.setColumn (0, 5, B11111111); // Inicializar DS3231 clock.begin (); // Establecer el tiempo de compilación del boceto //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int menu = 0, arriba, abajo; int hours_one; int hours_ten; int minutes_one; int minutes_ten; int seconds_one; int seconds_ten; bucle vacío () {if (digitalRead (5) == 0) {retraso (300); menu ++; si (menú> 3) menú = 0; } if (menu == 0) {dt = clock.getDateTime (); horas = dt.hora; minutos = dt.minuto; segundos = dt.second; if (horas> 12) horas = horas - 12; if (horas == 0) horas = 1; hours_one = horas% 10; hours_ten = horas / 10; minutes_one = minutos% 10; minutes_ten = minutos / 10; seconds_one = segundos% 10; segundos_ten = segundos / 10; lc.setRow (0, 0, número [segundos_uno]); lc.setRow (0, 1, número [diez segundos]); lc.setRow (0, 2, número [minutos_uno]); lc.setRow (0, 3, número [diez minutos]); lc.setRow (0, 4, número [horas_una]); lc.setRow (0, 5, número [diez_horas]); } if (menú == 1) {if (digitalRead (6) == 0) {retraso (300); horas ++; si (horas> = 24) horas = 0; } if (digitalRead (7) == 0) {retraso (300); horas--; si (horas = 60) minutos = 0; } if (digitalRead (7) == 0) {retraso (300); minutos--; si (minutos <0) minutos = 0; } minutes_one = minutos% 10; minutes_ten = minutos / 10; lc.setRow (0, 4, B00000000); lc.setRow (0, 5, B00000000); lc.setRow (0, 1, B00000000); lc.setRow (0, 0, B00000000); lc.setRow (0, 2, número [minutos_uno]); lc.setRow (0, 3, número [diez minutos]); } if (menu == 3) {clock.setDateTime (2020, 4, 13, horas, minutos, 01); menú = 0; } //lc.setLed(0, fila, columna, falso); //lc.setLed(0, fila, columna, verdadero); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, fila, (byte) 0); //lc.setColumn(0, col, (byte) 0); // Para el cero a la izquierda, consulte el ejemplo de DS3231_dateformat // Serial.print ("Datos sin procesar:"); // Serial.print (dt.year); Serial.print ("-"); // Serial.print (dt.month); Serial.print ("-"); // Serial.print (dt.day); Serial.print (""); // Serial.print (dt.hour); Serial.print (":"); // Serial.print (dt.minute); Serial.print (":"); // Serial.print (dt.second); Serial.println (""); // // retraso (1000); }
Paso 6: Colocación de los LED
En esta etapa, colocaré todos los LED en los agujeros del tablero de madera. Las conexiones de los LED se muestran en el esquema. Como usaremos el controlador LED MAX7219 para controlar los LED, todos los LED deben estar conectados en forma de matriz. Entonces, conecté los pines del ánodo de todos los LED en cada columna juntos y todos los pines del cátodo de cada fila juntos de acuerdo con el esquema. Ahora, nuestros pines de columna son en realidad pines de ánodo de LED y los pines de fila son en realidad pines de cátodo de LED.
Para conducir LED usando MAX7219, debe conectar el pin de cátodo de un led a un pin de dígitos del IC y el pin de ánodo del led a un pin de segmento del IC. Por lo tanto, nuestros pines de columna deben estar conectados a los pines de segmento y los pines de fila deben estar conectados a los pines de dígitos del MAX7219.
Debe conectar una resistencia entre el pin ISET y el VCC del IC MAX7219 y esta resistencia controla la corriente de los pines del segmento. Usé una resistencia de 10K para mantener 20 mA en cada pin de segmento.
Paso 7: Conexión de LED
En esta etapa, conecté todos los LED en un formato de matriz de filas y columnas. Necesitaba usar algunos cables de puente adicionales para conectar los LED, pero puede realizar la conexión sin la ayuda de cables adicionales si los cables de los LED son lo suficientemente largos como para tocarse entre sí.
En esta configuración, no se requiere resistencia porque MAX7219 se encargará de la corriente. Su deber es seleccionar el valor correcto para la resistencia ISET y levantar el pin ISET con esta resistencia. Antes de colocar y conectar los LED, le sugiero que compruebe todos los LED. Porque colocar un LED defectuoso matará mucho tiempo. En el siguiente paso, conectaremos los cables de fila y columna al MAX ic.
Paso 8: Conexión de la placa de circuito con los LED
Nuestra placa de circuito, que incluye RTC, Arduino y MAX7219, está lista durante mucho tiempo y también preparamos la matriz de LED en la etapa anterior. Ahora tenemos que conectar todas las cosas juntas de acuerdo con el esquema. Primero, necesitamos conectar los cables de fila y columna al MAX7219IC. La conexión se mencionó en el esquema. Para que quede más claro, siga la tabla que se proporciona a continuación.
Matriz de LED | MAX7219CNG |
---|---|
FILA0 | DIGIT0 |
FILA1 | DIGIT1 |
FILA2 | DIGIT2 |
FILA3 | DIGIT3 |
COLUMNA 0 | SEGA |
COLUMNA1 | SEGB |
COLUMNA2 | SEGC |
COLUMNA3 | SEGD |
COLUMNA 4 | SEGE |
COLUMNA 5 | SEGF |
ROW0-> Fila superior
COLUMN0 -> Columna más a la derecha (SS COLUMN)
Después de realizar la conexión, debe fijar la placa PCB y Arduino con la pieza de madera para evitar romper la conexión. Usé pegamento caliente para fijar todos los circuitos en su lugar. Para evitar cualquier cortocircuito, use una gran cantidad de pegamento para ocultar la junta de soldadura en la parte inferior de la PCB.
Para que un reloj sea utilizable, debe tener una opción para ajustar la hora cuando sea necesario. Agregué tres interruptores de botón para ajustar la hora. Uno para cambiar de opción y dos para incrementar y disminuir horas y minutos. Los botones se colocan en la esquina superior derecha para que sean fácilmente accesibles.
Paso 9: Colocación de las canicas
Esta es la etapa final de nuestro proyecto. Se completa toda la conexión del circuito. Ahora debes colocar la canica en la parte superior del reloj de madera. Para colocar las canicas utilicé pegamento termofusible. Utilice una barra de pegamento de color blanco transparente para este propósito. Apliqué pegamento caliente en cada orificio desde la parte superior y encima de los LED coloqué suavemente la canica en cada orificio. Agregar pegamento de manera uniforme aumentará el brillo del LED. Usé LED AZUL para mi reloj. Me dio el mejor resultado.
Dale poder al reloj. Si muestra la hora, ¡¡¡Felicitaciones !!!
¡Lo hiciste!
¡Disfrutar!
Finalista en el concurso Make it Glow
Recomendado:
Micro reloj binario: 10 pasos (con imágenes)
Micro reloj binario: Habiendo creado previamente un Instructable (DVM binario), que hace uso del área de visualización limitada usando binario, fue solo un pequeño paso haber creado previamente el módulo de código principal para la conversión de decimal a binario para crear un reloj binario, pero t
Pantalla de reloj binario BigBit: 9 pasos (con imágenes)
BigBit Binary Clock Display: en un Instructable anterior (Microbit Binary Clock), el proyecto era ideal como un dispositivo de escritorio portátil ya que la pantalla era bastante pequeña, por lo que parecía apropiado que la próxima versión fuera una versión de repisa o de pared, pero mucho más grande
El dispositivo de escritorio: un asistente de escritorio personalizable: 7 pasos (con imágenes)
El dispositivo de escritorio: un asistente de escritorio personalizable: el dispositivo de escritorio es un pequeño asistente de escritorio personal que puede mostrar información diversa descargada de Internet. Este dispositivo fue diseñado y construido por mí para la clase CRT 420 - Temas especiales en Berry College, que está dirigida por un instructor
5 $ CALENDARIO PCB CON RELOJ BINARIO: 7 Pasos (con Imágenes)
CALENDARIO PCB 5 $ CON RELOJ BINARIO: ¡Hola! Hice este calendario de PCB y reloj binario con Eagle CAD. Usé ATMEGA328P MCU (de Arduino) y matriz LED 9x9. Las dimensiones de mi tablero son de 8 cm x 10 cm (3,14 pulgadas x 3,34 pulgadas). Es un poco demasiado pequeño, pero primero: la versión gratuita de Eagle CAD permite 80 cm ^ 2
Amplificador de escritorio con visualización de audio, reloj binario y receptor de FM: 8 pasos (con imágenes)
Amplificador de escritorio con visualización de audio, reloj binario y receptor de FM: me gustan los amplificadores y hoy compartiré mi amplificador de escritorio de baja potencia que hice recientemente. El amplificador que diseñé tiene algunas características interesantes. Tiene un reloj binario integrado y puede dar la hora y la fecha y puede visualizar audio a menudo llamado audio