Notas de construcción: la caja de conteo - 💡 Fix My Ideas

Notas de construcción: la caja de conteo

Notas de construcción: la caja de conteo


Autor: Ethan Holmes, 2019

Más de un par de veces he echado un vistazo por la noche para encontrar a mi hijo en la cama con una calculadora en una mano y una linterna en la otra, estoy dormido después de presionar "1 + = = =" y ver cómo suben los números hasta que no pudo No mantengas los ojos abiertos. Entonces, para su cuarto cumpleaños, decidí construirle una máquina dedicada que no haría nada más que contar y contar a su mando.

Mi idea inicial fue simple: una gran pantalla LED de siete segmentos de varios dígitos, dos botones grandes de arcade para sumar y restar, y un interruptor giratorio de 10 posiciones en el centro. Gire el interruptor giratorio para elegir un valor de uno a 10, luego presione un botón para aumentar el número que se muestra en los LED en esa cantidad. Presiona el otro botón y bajaría por el mismo.

El circuito

El circuito fue el primero en este proyecto, ya que el tamaño de la caja dependería del tamaño del paquete electrónico terminado.

El núcleo de todo es un ATmega328, uno de los procesadores Arduino más comunes. Un par de pantallas de reloj LED de 4 dígitos muestra el número, impulsado por un chip controlador Maxim MAX7219 LED capaz de manejar 64 LED u 8 dígitos de siete segmentos, utilizando solo 3 pines de salida en el ATmega.

Después de construir el circuito en una placa de pruebas y escribir un programa de prueba básico, tuve mi primera introducción al cambio de rebote, el ruido electrónico o el parloteo en el nivel de milisegundos cuando los contactos de un interruptor se abren o cierran. Un microprocesador puede leer lo que parece ser un botón pulsado como docenas, cientos o más. Afortunadamente, los botones de arcade que ordené son interruptores de doble tiro. Estos permiten una solución de rebote bastante simple en hardware utilizando 2 puertas lógicas NAND para cada conmutador. Un circuito integrado 74HC00 proporcionó las 4 compuertas requeridas en un chip.

El interruptor giratorio estaba codificado en binario, por lo que solo se trataba de conectar sus 4 pines, uno para cada bit requerido para contar hasta 10, a los pines de entrada del ATmega, leer cada uno y combinarlos, y luego convertirlos en decimal.

Ahora que el circuito podía contar, necesitaba una forma de almacenar el valor actual de la pantalla. No quieres que tu caja de conteo alcance un número asombrosamente alto solo para perderlo cuando apagas la alimentación. Este debería ser un trabajo fácil para la EEPROM interna de ATmega, pero cuando miré las especificaciones solo se clasificó para 100,000 ciclos de escritura. Con una pantalla que podía subir hasta 99,999,999, eso parecía inadecuado. En su lugar, encontré el chip de memoria EEPROM 24LC256 con 1,000,000 de ciclos de escritura, aún no tan alto como podría llegar a la caja de conteo, pero mucho más cerca. Sin embargo, en el uso real, la memoria a bordo del ATmega sería más que probable que fuera suficiente.

Hice mi creación de prototipos y programación con un Arduino Duemilanove, pero para la versión final utilicé el mismo chip ATmega para construir un circuito independiente en un tablero de striptease. Prefiero un microcontrolador independiente en mis proyectos porque usa menos espacio que la creación de una placa Arduino completa, cuesta menos y deja a mi Arduino libre para el próximo proyecto.

La pantalla LED está en su propia placa, conectada mediante un cable plano a la placa del procesador principal. El recuento de 99,999,999 que permiten los 8 dígitos es definitivamente excesivo, pero el uso de pantallas LED de 4 dígitos ahorró mucho cableado y soldadura en comparación con el uso de dígitos individuales.

Por energía, planeaba usar pilas AA recargables.

El software

El software tiene 3 funciones principales: el botón de manejo presiona para aumentar y disminuir el número en la cantidad seleccionada, mostrar el número y almacenar el número en la memoria.

Las pulsaciones de los botones aparecen como interrupciones, que hacen casi lo que parece que son: interrumpir cualquier otra acción que tenga lugar en el programa. La alternativa a esto es sondear constantemente el botón para ver si se está presionando, pero esto es ineficiente en comparación con pedirle al botón que te avise cuándo se está presionando. Cuando se presiona un botón, el programa lee el valor del interruptor giratorio, suma o resta esa cantidad de la variable, luego lo divide en dígitos individuales para enviar al MAX7219 para su visualización. En cada bucle, el programa compara el valor actual de la variable con el valor de la variable en el bucle anterior. Si son diferentes, almacena el nuevo valor en el chip de memoria EEPROM.

Puede poner a cero el cuadro de conteo configurando el selector de número en 8 y manteniendo presionado el botón de disminución cuando lo enciende. De manera similar, al configurar el selector de números en 3 y mantener presionado el botón de incremento durante el encendido, se mostrarán estadísticas como los números más altos y más bajos alcanzados y el número total de pulsaciones de los botones durante la vida útil de la caja. Para ahorrar energía, el ATmega se pone en reposo y la pantalla LED se apaga si no se presiona ningún botón durante un minuto. Al presionar cualquiera de los botones se activará el sistema.

Construyendo la caja

Con el circuito y el software hecho, los puse a un lado. Definitivamente podrían soportar una optimización adicional, pero su único requisito real era que funcionaran. La caja, sin embargo, se vería todos los días y tenía que verse lo mejor posible. Tenía que ser amigable con las manos jóvenes y lo suficientemente resistente como para soportar las caídas ocasionales. La madera era el material perfecto, pero no tengo las habilidades de carpintería de precisión ni la tienda para construir lo que quería. ¡Corte por láser al rescate!

Para establecer el patrón de uniones en las esquinas, utilicé una utilidad en línea llamada BoxMaker (boxmaker.rahulbotics.com). Ingrese el ancho exterior, la profundidad y la altura de su caja terminada, el grosor del material y la ranura (el ancho del material eliminado por el corte), y se genera un PDF de todas las piezas requeridas.

Importé este PDF a Adobe Illustrator, realicé algunos ajustes menores en el espacio para la simetría entre los lados izquierdo y derecho, y coloqué los elementos como el recorte de la ventana y los ojales.

Antes de cargar para cortar, imprimí los planos y los monté con rociador en un tablero de espuma de 1/4 ", luego corté y monté las piezas. El tablero de espuma es mucho más barato que el corte con láser, por lo que esta etapa es un lugar mucho mejor para encontrar errores (como una pestaña donde debería haber una ranura o una caja que no sea lo suficientemente profunda para sostener un botón).

No solo la maqueta encajaba, sino que todos los componentes encajaban en ella. Con esa última comprobación, subí el diseño a Ponoko (ponoko.com) para que fuera cortado con láser de contrachapado de bambú.

Dos semanas después, llegó un paquete con la madera cortada. Las piezas eran hermosas, pero no encajaban. Yo había especificado un ancho de corte (el ancho de un corte), y para compensarlo, el programa BoxMaker había ajustado el ancho de las muescas para cerrar las brechas que no existían. Con un archivo y un poco de papel de lija pude ampliar las muescas lo suficiente para juntar la caja.

Pegué las uniones, lijé un radio en todas las esquinas, luego terminé la madera con un brillo de poliuretano para protegerlo y darle al bambú un brillo cálido y ámbar.

La ventana de acrílico rojo que cubre los LED se cortó con láser al mismo tiempo que la madera. Esperaba un ajuste apretado que no requiriera pegamento, así que hice 6 versiones diferentes de la ventana, cada una de tamaño unas cuantas centésimas de pulgada más grande que la anterior, y usé la que mejor se ajustaba.

Cuando comencé a ponerlo todo junto, me di cuenta de que no estaba contento con la forma en que encajaban las pilas AA en la caja Eran feos, y sacarlos para cargarlos sería una molestia. Para reemplazarlos, usé una batería de iones de litio y un cargador USB, ambos de Adafruit (adafruit.com). La batería de 3.7 V se alimenta a un circuito de aumento de voltaje para proporcionar los 5 V necesarios.

Como a muchos de nosotros, a mi hijo le gusta mirar dentro de las cosas y ver cómo funcionan. El cambio de la fuente de alimentación de último minuto me permitió colocar el circuito orientado hacia afuera donde habrían estado las baterías, permitiendo que la puerta de la parte posterior sirva como una ventana para que él pueda ver los componentes electrónicos en su interior. Para mantener seguros los cables frágiles, cubrí el circuito con un trozo de acrílico transparente a medida y sujeto por separadores.

La puerta en la parte posterior de la caja está sujeta por cuatro imanes de neodimio de 3 mm, epoxizados en los orificios perforados en el panel de la puerta y el marco. Los imanes son lo suficientemente fuertes como para mantener la puerta segura en el uso regular, pero se dan cuando se abren usando los recortes de media luna en cada lado.

Usando la caja de conteo

Además de la emoción obvia de ver qué tan altos pueden llegar a ser los números, es fácil crear juegos para jugar con la Caja de conteo. Haga preguntas como: "¿Cómo puede llegar a 49 en el menor número de pulsaciones de botones? ¿Puede hacerlo con el interruptor selector configurado en el mismo valor todo el tiempo? "El Cuadro de conteo también se puede usar para ayudar a introducir conceptos matemáticos como el conteo de saltos. Las ideas más avanzadas, como la multiplicación y la división, aparecen rápidamente cuando se hace evidente que no son más que sumas o restas repetidas.

No estoy seguro de quién aprendió más, yo en construirlo o mi hijo en jugar con él, pero de cualquier manera, el cuadro de conteo se convierte en algo divertido.

Más en hahabird.com.

MAKE Volume 33 presenta nuestra sección especial de Software para fabricantes que cubre aplicaciones para el diseño de placas de circuitos, diseño e impresión 3D, microcontroladores y programación para niños. Además, conozca nuestro nuevo robot Rovera con Arduino y comience a usar Raspberry Pi. Como es habitual, también encontrarás creadores fascinantes en el interior, como los maníacos en nuestra portada, los piratas informáticos detrás de los populares eventos de Power Racing Series en Maker Faire.

Pruebe 22 fantásticos proyectos de bricolaje, como la caja de efectos de la guitarra Trémolo óptico, el molde para pastel de Panjolele, el ratón Wii Nunchuk, los trucos de carpintería CNC, el poste para rascar gatos de dispensación de golosinas, los libros de madera de corte por láser, la elaboración de sake, cultivando increíblemente picantes "chiles fantasma", y mucho más.

En los quioscos ahora, por suscripción, o disponible en el Maker Shed

¡Compra ahora!



Puede Que Le Interesen

HAGA XML, RSS, OPML, listas de lectura y más ...

HAGA XML, RSS, OPML, listas de lectura y más ...


Cómo hacer: cinta de precaución de punto

Cómo hacer: cinta de precaución de punto


¡Los transistores AKA son increíbles!

¡Los transistores AKA son increíbles!


Teoría del color para Yarnies: emparejando los mal emparejados

Teoría del color para Yarnies: emparejando los mal emparejados