Tabla de contenido:

Micro reloj binario: 10 pasos (con imágenes)
Micro reloj binario: 10 pasos (con imágenes)

Video: Micro reloj binario: 10 pasos (con imágenes)

Video: Micro reloj binario: 10 pasos (con imágenes)
Video: Construye tu propio reloj binario - Proyectos con Arduino 2024, Mes de julio
Anonim
Micro reloj binario
Micro reloj binario
Micro reloj binario
Micro reloj binario

Proyectos Tinkercad »

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 lo único que faltaba era un RTC (reloj en tiempo real).

Sin embargo, el Microbit no tiene un RTC integrado.

El RTC permite la realización de proyectos de reloj con una batería de respaldo.

Como tal, el siguiente proyecto utiliza un Microbit y un Kitronik RTC para crear un reloj de 24 horas con una pantalla binaria y, además, tiene una opción de alarma.

El software del proyecto que se ejecutará en Microbit se creará en Makecode Blocks.

Suministros:

MicroBit V1 o V2

Estuche protector MicroBit (opcional)

Makecode

Kitronik RTC

CR2032

Bloques de código

Cura

impresora 3d

1 * interruptor SPDT (encendido - encendido)

1 * interruptor SPDT (encendido - apagado - encendido)

2 * SPST (normalmente abierto), interruptor momentáneo

4 * M3 (10 + 6 mm), separadores M / F con tuercas M3

4 * M3 (8 mm), tornillos

Conector M / F de cable de puente, 100 mm, 28AWG prefabricado con enchufe y zócalo.

1 * zumbador piezoeléctrico (sin unidad)

Estos suministros están disponibles en varios puntos de venta y es posible que tenga su propio proveedor preferido.

Paso 1: Definición del área de visualización

Definición del área de visualización
Definición del área de visualización
Definición del área de visualización
Definición del área de visualización

Aunque el área de visualización está limitada en la cantidad de datos que se pueden mostrar en cualquier momento, se presta idealmente para la visualización de datos de bits.

Como tal, hay suficiente área para mostrar palabras binarias de 4 x 4 bits para representar el tiempo con notificaciones y modos de selección.

La pantalla se divide en 3 áreas principales; Tiempo, selección y modos.

Tiempo

Dieciséis LED asignados a la hora, cada columna de 4 LED está asignada a un intervalo de tiempo, los intervalos están en la forma H, H, M y M.

Cada bit de la palabra binaria tiene una ponderación de 1, 2, 4 y 8 con el LSB en la fila 4 y el MSB en la fila 1

Cada palabra binaria de 4 bits permite un recuento de 0 a 15, que es más que suficiente para el formato de tiempo de 24 horas, que requiere un recuento máximo por columna de 2, 9, 5 y 9.

Selección

Una fila de 4 LED en la fila 0 se utiliza para identificar la columna de tiempo seleccionada al ingresar el tiempo.

Modos

Una columna de 5 LED en la columna 4 se utiliza para identificar modos, funciones y funcionamiento.

Tick - El LED 4, 0 parpadeando encendido y apagado se usa para indicar Segundos y operación.

Hora: el LED 4, 1 indica el modo de hora cuando está encendido. (Modo predeterminado al encender)

Alarma: el LED 4, 2 indica el modo de alarma cuando está encendido.

Notificación de alarma: el LED 4, 3 y el LED 4, 4 parpadean cuando se activa la alarma.

Paso 2: RTC (reloj en tiempo real)

RTC (reloj en tiempo real)
RTC (reloj en tiempo real)
RTC (reloj en tiempo real)
RTC (reloj en tiempo real)
RTC (reloj en tiempo real)
RTC (reloj en tiempo real)
RTC (reloj en tiempo real)
RTC (reloj en tiempo real)

El RTC es el corazón de la aplicación, lo que permite configurar y mantener la hora exacta.

Se pueden encontrar más detalles del RTC en Kitronik.

El RTC proporciona un suministro regulado que elimina la necesidad de alimentar el Microbit con su propio conector USB o JST y se proporciona una batería de respaldo para retener el tiempo en caso de pérdida de energía.

Antes de usar el RTC, deberá cargar el paquete de extensión.

Usando Makecode en el ícono de Configuración, seleccione Extensiones y escriba Kitronik RTC en la búsqueda.

Seleccione el paquete para instalarlo y se agregará a las otras extensiones.

Hay varios bloques de código para leer y escribir en el RTC.

Solo necesitaremos 4 de estos bloques de código para el reloj binario.

Estos se utilizarán para escribir la hora establecida en el RTC y para volver a leer la hora para actualizar la pantalla del reloj.

Paso 3: codificación del reloj

Codificación del reloj
Codificación del reloj
Codificación del reloj
Codificación del reloj
Codificación del reloj
Codificación del reloj

La primera parte del código es la inicialización del programa de variables, matrices y texto informativo.

En eso

Bclk - Reloj binario

<Sel: un botón selecciona la columna que se ajustará para la configuración de la hora.

Inc - El botón B incrementa el tiempo.

Al presionar ambos botones A y B a la vez, cambia el modo entre Hora y Alarma.

Strval: es el valor de cadena que contiene la hora en el formato "HH: MM: SS" devuelto por el RTC

Solo se utilizan HH y MM para mostrar o configurar la hora.

Modo: conserva el valor de modo para Tiempo = 1 y Alarma = 2 seleccionados con la combinación de botones A + B.

Período: es el valor de la columna de tiempo, seleccionado con el botón A.

0 = columna 0 (H), 1 = columna 1 (H), 2 = columna 2 (M), 3 = columna 3 (M)

Tick_en - Habilita = 1 o Deshabilita = 0 el indicador de tic (segundos).

Inc - Almacenamiento intermedio del valor de ajuste de tiempo incremental.

Tm_list : almacena el valor de cada columna de tiempo durante la configuración.

Alarma: activa o desactiva el indicador de alarma.

El forever llama continuamente a la función tick.

Garrapata

La función de tick, que normalmente está habilitada, muestra un LED de encendido / apagado alterno en la esquina superior derecha para indicar el funcionamiento y los segundos.

Además, llama a la función showtm que lee el RTC y lo procesa para que se muestre en binario, mientras que también llama a alarm_mode, si está habilitado, muestra los LED de notificación de alarma en la esquina inferior derecha.

Showtm

La función showtm, llama a rdtime y el valor usado de esto es strval que contiene la cadena de tiempo.

Se crea un bucle que se incrementa a través de strval extrayendo cada número e ignorando el separador ":"

Luego, cada número se convierte en su equivalente binario con la función dec2bin y se asigna a la columna correcta.

Rdtime

La función rdtime, lee los primeros 5 caracteres de la cadena devuelta por el RTC (ignorando la parte de los segundos) y la pasa a strval.

Si se estableció la alarma (Modo = 2), entonces los valores establecidos de la alarma se comparan con los valores devueltos por el RTC, si hay una coincidencia, entonces la alarma = 1 si no hay una alarma de coincidencia = 0.

Alarm_mode, cuando está habilitado, muestra dos LED alternados de encendido / apagado en la esquina inferior derecha de la columna 4.

Dec2bin

La función dec2bin convierte un número decimal en binario y lo muestra en la columna correcta.

El número que se va a convertir se pasa a través de value y la columna de visualización se pasa a través de col.

List2 es la matriz en la que se almacena la palabra binaria de 4 bits del proceso de conversión binaria.

Se inicia un ciclo que procede a dividir el valor por 2, el resto se almacena en el elemento de la matriz, el valor entero se divide por 2, esto se repite hasta que el valor entero es <= 1 y este último valor se coloca en la matriz.

El valor decimal de un solo dígito más grande es 9 y en binario es 1001 como una palabra de 4 bits.

Luego, la matriz debe procesarse en orden inverso para obtener el resultado correcto.

A continuación, se inicia un bucle para encender el LED correcto en la columna correspondiente, esto se logra para cada aparición de uno en la palabra binaria de 4 bits.

La interfaz humana se logra con botones.

El botón A

Esto selecciona la columna en la que se ingresará el valor de tiempo y muestra un LED iluminado sobre la columna elegida en la fila 4.

Una vez que se han actualizado todas las columnas de tiempo, al incrementar la selección a la quinta columna se actualiza la variable de tiempo.

Si modo = 1, el RTC se actualiza; de lo contrario, se actualiza la hora de la alarma.

El botón B

Este es el botón de incremento e incrementa la columna de tiempo seleccionada.

Con el fin de reducir errores y ahorrar tiempo para llegar al valor correcto, el valor máximo que se puede ingresar por columna tiene un tope basado en el valor de tiempo para un sistema de tiempo de 24 horas.

Estos valores máximos se almacenan en tm_max , uno por columna de tiempo y se seleccionan automáticamente según la columna de tiempo.

Los valores máximos son H = 2, H = 9, M = 5, M = 9

El valor de incremento se convierte a binario en dec2bin y la pantalla se actualiza.

Botón de selección de modo A + B

Al presionar ambos botones a la vez, se puede seleccionar entre el modo de hora o el modo de alarma; el modo apropiado se muestra en la pantalla.

Dependiendo del modo seleccionado, la pantalla se actualiza para mostrar la hora o la hora configurada para la alarma.

Paso 4: Operación

Operación
Operación
Operación
Operación
Operación
Operación

Descargue el archivo Hex en el Microbit, inserte una batería CR2032 en el RTC.

Conecte el Microbit en el RTC y encienda la placa RTC a través de USB o los terminales de tornillo.

El LED Tick comenzará a parpadear y poco después se mostrará la hora.

Si esta es la primera vez que lo usa, es muy probable que la hora mostrada sea incorrecta y deberá ajustarse a la hora correcta.

Selección de modo

Presionar los botones de Selección (A) e Incremento (B) al mismo tiempo permitirá alternar entre las opciones de Modo entre Hora y Alarma.

Configuración de la hora

El ajuste de la hora está en modo 24H.

Utilice el botón de selección (A) para mover el LED a lo largo de la fila superior, esto indica la columna donde se puede cambiar la hora. Las columnas de selección corresponden a H, H, M y M.

Donde H = Horas y M = Minutos.

Una vez seleccionada una columna, presione el botón Incrementar (b), repetidamente para incrementar el recuento en uno en cada pulsación. Los recuentos se indican en binario, después de todo es un reloj binario.

El botón de incremento solo aumenta el conteo y una vez que se alcanza el máximo se restablece a cero, si se presiona más, el conteo aumentará nuevamente.

Una vez que se establece el tiempo de la primera columna, presione el botón Selección para la siguiente columna y luego use el botón Incrementar para establecer el tiempo de la columna.

Nota: *** Cuando configure la Hora o la Alarma, deberá ingresar una hora en la columna seleccionada, incluso si la hora en la columna debe permanecer sin cambios, ya que omitir una columna establece la hora de la columna en cero ****

Repita el proceso hasta que se haya establecido el tiempo usando las 4 columnas.

Presione el botón de Selección por quinta vez para moverlo a la quinta columna y se establece la hora.

Configurar la alarma

La configuración de la hora de la alarma se realiza exactamente de la misma manera que la hora.

Para que la alarma se active en el tiempo requerido, deje el Modo configurado en Alarma.

Para apagar la alarma, configure el Modo en Hora.

Para mostrar la hora de alarma configurada, cambie el modo entre Hora y Alarma y la hora de la alarma se mostrará durante un breve período de tiempo antes de volver a mostrar la hora actual.

La hora de la alarma no se almacena en el RTC, por lo tanto, si se desconecta la alimentación, será necesario restablecerla.

Paso 5: Box It

Box It
Box It
Box It
Box It

El proyecto se ubicará en el ángulo apropiado para ver el reloj, pero una caja agrega una sensación de permanencia.

Puede comprar una caja de tamaño adecuado y cortar y perforar las áreas apropiadas para permitir que el Microbit encaje en el zócalo.

Sin embargo; además, quería duplicar los botones de Microbit junto con otros controles e indicadores.

Normalmente, será necesario aplicar leyendas al cuadro para identificar los botones.

Estos se pueden aplicar a mano; pintado, grabado o aplicando etiquetas.

Un método para realizar todas estas opciones sería imprimir la caja en 3D, pero primero necesitaríamos crear un archivo CAD con el que crear el archivo de impresora.

Las opciones de creación de archivos están dibujadas a mano o con código.

Opté por "dibujado con código" usando Tinkercad CodeBlocks

Los archivos para la tapa de la caja y la base de la caja se pueden encontrar en Tinkercad CodeBlocks

Paso 6: Diseño de código de bloque

Diseño de código de bloque
Diseño de código de bloque
Diseño de código de bloque
Diseño de código de bloque

La caja tiene un diseño de dos partes que consta de una base y una tapa.

Se usarán cuatro orificios para tornillos en las esquinas para asegurar la tapa con un corte en el lado izquierdo para permitir la entrada del enchufe USB.

La tapa tendrá un recorte para el conector Microbit y los interruptores requeridos, además cualquier texto se imprimirá directamente en la tapa y los orificios de los tornillos se alinearán con los pilares de la base.

La placa RTC se unirá a la parte inferior de la tapa mediante 4 pilares y 4 tornillos.

El tamaño de la caja más la tapa es de 70 x 105 x 31 mm.

El código para la tapa y la base está disponible en TinkerCad CodeBlocks.

Paso 7: Impresión 3D

Impresión 3d
Impresión 3d
Impresión 3d
Impresión 3d
Impresión 3d
Impresión 3d
Impresión 3d
Impresión 3d

Cargue los archivos en Cura y aplique su configuración de segmentación preferida.

Configuraciones aplicadas.

Calidad: 0,15 mm

Relleno: 80%, Tri-Hexagon

Base: ala

Guarde sus archivos y luego imprímalos.

Con Cura puede cargar ambos archivos juntos en la misma área de impresión e imprimirlos de una vez.

Paso 8: relleno

Relleno
Relleno
Relleno
Relleno
Relleno
Relleno

La tapa de la caja está impresa con texto empotrado que se rellenará con resina epoxi coloreada de 2 partes.

La resina se mezcla con una proporción de 2 partes de resina por 1 parte de endurecedor y luego se mezcla con un pigmento de color opaco.

El color elegido fue el amarillo para contrastar con el fondo. El blanco habría sido otra opción.

Una vez mezclada, la resina se vierte en el hueco usando un palillo de cóctel para transferir pequeñas gotas de resina que se utilizan para llenar gradualmente el hueco en las letras.

Resista poner demasiada resina de una sola vez, ya que probablemente terminará con burbujas de aire o creando demasiado desbordamiento en la superficie circundante, lo que significa que tendrá más para quitar, limpiar y lijar una vez curado.

Así que llene lentamente asegurándose de que la parte inferior de la letra esté cubierta y construya terminando con una superficie ligeramente elevada.

Una vez que la resina haya curado, se requerirá un lijado ligero para nivelar la superficie, comience con el grado P240 progresando a grados más finos según sea necesario para obtener un acabado suave y finalmente termine con un pulidor.

No aplique demasiada presión ni demasiada velocidad o sobrecalentará el PLA y la resina, lo que dará como resultado una superficie opaca debido a la recolección de arena, un poco de agua aplicada durante el proceso de lijado actuará como lubricante y refrigerante.

Paso 9: Montaje

Montaje
Montaje
Montaje
Montaje
Montaje
Montaje

El Microbit encajará en el zócalo en dos orientaciones, mirando hacia la parte principal del RTC o mirando hacia otro lado.

Si se enfrenta a la parte principal del RTC, las conexiones de enlace no se pueden usar, sin embargo, si el Microbit está alejado de la parte principal de la placa, podemos hacer uso de estas conexiones.

El ensamblaje comienza soldando un cabezal de clavija SIL en ángulo recto en el RTC, esto es para permitir que las conexiones se realicen con conectores de ajuste a presión.

El RTC está equipado con 4 * M3 (10 + 6 mm), separadores M / F con tuercas M3 que se fijan a la tapa con 4 * M3 (8 mm), tornillos en los orificios prefabricados.

Los interruptores se colocan en los orificios prefabricados de la tapa.

Las conexiones necesarias son:

GND, 3V, P1 (configurado), P2 (alerta), P5 (sel) y P11 (inc)

Nota *** Los resistores (1R), en el diagrama para P5 y P11 son simplemente puntos de conexión de referencia, ya que la conexión directa a estos pines en los bloques Microbit in Code no está disponible en este momento. ***

P5 es la conexión externa para el Botón A que se conecta mediante un interruptor momentáneo SPST. Una conexión a P5 y el otro pin está conectado a GND. Este botón es para la selección de columna durante la configuración de tiempo.

P11 es la conexión externa para el Botón B que se conecta mediante un interruptor momentáneo SPST. Una conexión a P11 y el otro pin está conectado a GND, este botón es para incrementar el número durante la configuración de tiempo.

P1 es un interruptor SPDT (encendido-encendido) que se utiliza para habilitar o deshabilitar las opciones de configuración. El pin central va a P1 mientras que un pin se conecta a GND y el otro a 3V a través de una resistencia de 10k. Esto permite aplicar H (3V) y L (0V) a este pin. Cuando P1 está conectado a 3V, esto habilita las opciones de configuración de la hora y cuando 0V deshabilita la configuración de la hora. De este modo se controla si los botones A y B tienen algún efecto.

P2 es un interruptor SPDT (encendido-apagado-encendido) que se utiliza para habilitar o deshabilitar la sirena de alerta y las luces externas opcionales.

La sirena de alerta es un zumbador piezoeléctrico (simplemente fijado con una almohadilla adhesiva de doble cara), que requiere un impulso de pulso proporcionado por el Microbit.

Paso 10: finalmente

Ha ensamblado los elementos en la caja, ha programado el Microbit y lo ha colocado en el enchufe de la caja.

A continuación, aplique la energía y configure la hora.

Disfrutar.

Concurso de código de bloque
Concurso de código de bloque
Concurso de código de bloque
Concurso de código de bloque

Finalista en el concurso Block Code

Recomendado: