Saltar al contenido

Temporizador de cepillo de dientes con ATtiny13

julio 10, 2021
FFLWJ4OJC2Y922B

Las personas a menudo no se cepillan bien los dientes o lo hacen demasiado rápido, especialmente los niños. Esta herramienta puede ayudarlos a pasar la cantidad de tiempo adecuada en el área adecuada.

Ya hice y publiqué un temporizador para cepillos de dientes, pero no era lo suficientemente robusto para sobrevivir mucho tiempo en el duro ambiente de un baño, y la complejidad adicional del cuestionario fue una distracción del cepillado de dientes. Este temporizador lo guiará a través de 4 fases de 30 segundos para cada esquina de la boca, seguidas de 10 segundos para limpiar la lengua. No tengo idea de cuáles son los tiempos recomendados oficialmente, pero me parecen bastante razonables.

El temporizador que se presenta aquí tiene las siguientes características:

  • Código muy corto: 724 bytes caben en un microcontrolador ATtiny13A de 8 pines barato.
  • Operación muy simple: solo presione el botón para comenzar. Se va a dormir al final.
  • Consumo de energía muy bajo en modo de suspensión, no es necesario desconectar la alimentación explícitamente.

Paso 1: componentes y herramientas

Componentes y herramientas

La mayoría de estos componentes los conseguí en AliExpress por unos 4 EUR.

  • Microcontrolador ATtiny13A. También debería funcionar con el ATTINY85 más potente.
  • Zócalo IC de 8 pines Matriz de 8×8 LED controlado por el chip MAX7219. Best es un módulo compacto sin encabezados soldados.
  • Soporte de batería para 3 baterías AAA
  • Caja de proyectos estanca, 85x58x33mm
  • Botón pulsador momentáneo de 16 mm
  • Interruptor de encendido / apagado de balancín de barco de 10×15 mm
  • Tablero prototipo de 3×7 cm de doble cara
  • Cabezal de clavija hembra de 5 pines
  • Cabezal de clavija macho de 5 pines, ángulo recto
  • Algún cable de conexión trenzado para conectar todo

Herramientas necesarias:

  • Soldador
  • Arduino Uno para programar el ATtiny13
  • Herramienta rotativa para cortar los agujeros en la caja del proyecto.
  • Lima manual para afinar los agujeros en la caja del proyecto
  • Pistola de pegamento caliente para fijar la pantalla LED en la caja

Paso 2: esquema

Esquemático

El esquema se muestra en la imagen. Recomendaría probarlo primero en una placa de pruebas.

Las baterías 3AAA en serie suministran suficiente voltaje y corriente para hacer funcionar el dispositivo, incluso si son del tipo recargable de NiMH. Se suministra energía tanto al ATtiny como al módulo LED 8×8. La energía se puede interrumpir con un interruptor. No es estrictamente necesario, ya que en el modo de suspensión el uso de energía es lo suficientemente pequeño como para durar al menos 2 años. Aún así, un interruptor de apagado tiene sentido para ausencias prolongadas o cuando se trabaja en el circuito. 3 pines del ATiny se comunican con el MAX7219. El pin 1 del ATtiny está conectado con un botón a tierra para permitir el reinicio (y por lo tanto el inicio de la secuencia de tiempo)

Paso 3: el código

Se adjunta el código. Fue escrito como un boceto bajo el IDE de Arduino. Siga otras instrucciones sobre cómo programar el ATtiny usando un Arduino Uno. A continuación se ofrece un breve resumen:

La forma más fácil de programar un chip ATtiny es usar un Arduino como ISP (Programador en el sistema). Siga los siguientes pasos:

  • Iniciando el IDE de Arduino, abra ‘Preferencias’ y luego agregue https: //mcudude.github.io/MicroCore/package_MCUdu … para administradores adicionales de la junta.
  • En ‘Herramientas / Tablero’, seleccione ‘Administrador de tablero’ y en la parte inferior de la lista, instale ‘MicroCore by MCUdude’
  • Conecte el Arduino Uno y cargue ‘ArduinoISP’. Está disponible en ‘Archivo / ejemplos’
  • Conecte el Arduino al ATtiny, lo más fácil es colocar el ATtiny en un prototipo de escudo: Pin 13 de Arduino – Pin 7 de Arduino Pin 12 de ATtiny – Pin 6 de Arduino Pin 11 de ATtiny – Pin 5 de Arduino Pin 10 – Pin 1 de ATtiny Arduino + 5v – ATtiny pin 8 Arduino GND – ATtiny pin 4
  • Elija ‘Board ATtiny13’, ‘BOD 2.7V’, ‘Clock 1.2 MHz internal’ y el programador ‘Arduino as ISP’ (atención: no ‘ArduinoISP’ sino ‘Arduino as ISP’)
  • Haga ‘Grabar cargador de arranque’: no ​​hay un cargador de arranque para el attiny y puede dar un error, pero este paso es necesario para ‘configurar los fusibles’ en la configuración correcta del reloj
  • Sube el TinyToothbrushtimer.ino adjunto

El código debe ser sencillo de entender y modificar. Los mapas de bits de los números se almacenan en el espacio del programa ya que no caben en los 64 bytes de RAM. No hay ningún intento de cronometraje superpreciso. El uso de un retraso de 250 ms en cada “tick” dio una sincronización notablemente incorrecta. Reducir el retardo a 225ms es correcto.

El código para comunicarse con el MAX7219 fue copiado de este proyecto por Sanuki Udon.

Paso 4: montarlo en una caja.

Montaje en una caja.Montaje en una caja.Montaje en una caja.Montaje en una caja.Montaje en una caja.Montaje en una caja.Montaje en una caja.Montaje en una caja.Montaje en una caja.Montaje en una caja.

Una vez que lo tenga funcionando en una placa de prueba, deberá colocarlo en una caja sólida y posiblemente impermeable para obtener un dispositivo funcional. Esto es lo que hice:

Marque el tamaño aproximado y la posición de los 3 orificios en una caja de proyecto a prueba de agua. Con una herramienta rotativa, corte los orificios, siga con una lima manual para más detalles Monte los botones y la matriz de LED. Este último se puede arreglar mejor con un poco de pegamento caliente. Corte un trozo de un prototipo de PCB de doble cara de 3×7 cm, de modo que encaje. Taladre dos orificios en la PCB correspondientes a los orificios para tornillos de la caja. Suelde el soporte de CI de 8 pines y el cabezal de 5 pines en la PCB. Suelde el cable de conexión flexible entre el PBC, la caja de la batería y los botones. la placa LED MAX7219 y suelde los extremos a un conector macho. Ponga las pilas, el ATtiny programado y enciéndalo. Si funciona, cierre la caja y comience a usarlo.

Vea algunas de las imágenes para los pasos intermedios.

Sé el primero en compartir

    3 comentarios

    0
    NoelA11
    NoelA11

    hace 1 año

    ¿Funcionaría esto con una sola batería 18650? pregunto porque tengo estos a mano y me permitiría agregar carga USB.

    0
    rgco
    rgco

    Responder hace 1 año

    El 18650 da 3,7 V. Eso está bien para ATTINY y para los LED, pero la hoja de datos del MAX7219 dice 4.0-5.5V. Puede funcionar en la práctica, pero probablemente cederá de una manera extraña en algún lugar a la mitad de la duración de la batería. Tenga en cuenta que este es un diseño que ahorra mucha energía y no debería haber necesidad de las baterías 18650 superpoderosas. Ha estado funcionando durante 2 años seguidos sin cambiar las pilas y sin apagarlo. El modo de suspensión es extremadamente eficiente. Tengo algunos 18650 recuperados pero los evito cuando es posible, he visto demasiados videos de ellos en llamas …

    0
    SANUKI UDON
    SANUKI UDON

    Hace 2 años en Paso 4

    Fabuloso 🙂

    close