Tabla de contenido:
- Paso 1: Lista de materiales
- Paso 2: Probar + Configurar impresora
- Paso 3: diseño del programa
- Paso 4: circuito suave
- Paso 5: Poner todo junto
Video: Suéter Merry Grinchmas, Impresora Térmica + GemmaM0: 5 Pasos (con Imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
El suéter Merry Grinchmas es una prenda interactiva que brinda una amplia gama de mensajes impresos personalizados a modo de queja cada vez que alguien toca el pompón del sombrero del Grinch. Mensajes anti-navideños que llegan a través de una impresora térmica controlada por Gemma MO, Arduino y Capacitive Sensing.
Paso 1: Lista de materiales
- Gemma MO
- Impresora térmica Guts -
- Cinta de tela conductora
- Suéter holgado
- Sintió
- Kit mecha + fieltro
- Fibra conductora -
- Hilo de cobre
- Resistencias (3.3k + 2.2k)
- Fuente de alimentación - 7.5V, 3A
- Batería Li-Po
- soldadura
- Pegamento de tela
- Arduino Uno, pinzas de cocodrilo y placa de pruebas (para pruebas)
Paso 2: Probar + Configurar impresora
En primer lugar, pruebe la impresora para ver si tiene suficiente energía, de lo contrario, al presionar el botón de reinicio en la impresora para imprimir la página de prueba, seguirá imprimiendo la misma línea una y otra vez (imagen 1).
Cuando sale la impresión de prueba, es hora de verificar la velocidad en baudios, ya que Printer Guts funciona en 9600 y, por defecto, Adafruits Library usa 19200 como otras impresoras térmicas que venden. Compruébalo aquí:
La imagen 3 muestra específicamente cómo conectar la impresora.
La prueba ayuda a calibrar los diferentes estilos de fuente para crear cualquier diseño personalizado. (Imagen 4).
Hay un número aleatorio que elige entre 12 oraciones diferentes que incluyen diferentes estilos textuales para un encabezado, texto de cuerpo y firma.
Por último, para agregar cualquier imagen, es necesario convertirla en una imagen de mapa de bits. (Imagen 6). Aquí la elección fue el Grinch. (Imagen 7)
Una última nota. El uso de la impresora con Gemma M0, requiere algunos ajustes para usar el hardware de serie (Imagen 8).
Paso 3: diseño del programa
¿Qué espero de mi programa?
1) Tengo un LED RGB que proporciona información visual sobre la impresora. Verde para listo, rojo para imprimir
Como el Gemme M0 tiene un Neopixel incrustado, para codificarlo, el led debe direccionarse como si fuera una tira de LED.
#define NUMPIXELS 1 // Número de LED en la tira
configuración vacía () {
strip.begin (); // Inicializar pines para salida strip.show (); // Apague todos los LED lo antes posible
}
bucle vacío () {
strip.setPixelColor (0, 255, 127, 0);
strip.show ();
}
2) Un sensor capacitivo que activa el sistema.
La detección capacitiva requiere una biblioteca y la definición de algunas variables. Utiliza una entrada analógica que debe calibrarse. Es posible que necesite algunas pruebas para cambiar los valores del tacto.
#include "Adafruit_FreeTouch.h"
int touch = 1000; #define CAPTOUCH_PIN A0
long oldState = 0;
void checkpress () {// Obtiene el estado actual del botón. long newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Retraso corto para el botón antirrebote. retraso (20); // Compruebe si el botón sigue bajo después de la eliminación de rebotes. long newState = qt_1.measure (); } if (newState <touch) {// No hacer nada} más {// Hacer esto}
3) Imprima diferentes mensajes cada vez que se active el sistema
El programa aleatorizará un número cada vez que se ejecute.
void printChristmas () {
randomSeed (analogRead (0) * analogRead (1));
randomNumber = aleatorio (1, 12);
printer.inverseOn ();
printer.println (F ("Regalos de Navidad Inc.")); printer.inverseOff ();
switch (randomNumber) {
caso 1: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("De eso se trata, ¿no? De eso se trata siempre * de *. ¡Regalos, regalos … regalos, regalos, regalos, regalos, regalos! ¿Quieres saber qué sucede con tus regalos? Todos vienen a mí. En tu basura. ¿Ves lo que digo? En tu * basura *. Me podría ahorcar con todas las malas corbatas navideñas que encontré en el basurero. Y la avaricia.. ")); rotura; caso 2: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("Oh, la Quién-manidad.")); caso 3: // sentencias impresora.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("Oh, no, el trineo, los regalos, serán destruidos, ¡y me importa!")); rotura; caso 4: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("Toca esta música navideña. Es alegre y triunfante.")); rotura; caso 5: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("¿Estoy comiendo porque estoy aburrido?")); rotura; caso 6: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("Hay, sin embargo, una pequeña tradición navideña que me parece bastante significativa … [sostiene el muérdago] Muérdago. [se pone el muérdago en el trasero] ¡Ahora frújalo y bésalo, Whoville! [mueve el muérdago] ¡Boi-yoi-yoi-yoing! ")); rotura; caso 7: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("¡Ahora escúchame, jovencita! Incluso si estamos * horriblemente destrozados *, no habrá caras tristes en Navidad.")); rotura; caso 8: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("Holiday who-be what-ee?")); rotura; caso 9: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("¿Estás teniendo una feliz Navidad?")); rotura; caso 10: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("Y ellos festejarán, festejarán, festejarán, festejarán. Se comerán su pudín de Quién y su rara Bestia de asado. Pero eso es algo que simplemente no puedo soportar en lo más mínimo. Oh, no. ¡HABLO EN RIMO! ")); rotura; caso 11: // sentencias printer.println (F ("")); // Establecer la justificación del texto (derecha, centro, izquierda): acepta la impresora 'L', 'C', 'R'.justify (' L '); printer.println (F ("¡La avaricia nunca termina! Quiero palos de golf. Quiero diamantes. Quiero un pony para poder montarlo dos veces, aburrirme y venderlo para hacer pegamento. Mira, no quiero hacer olas, pero esta * temporada * navideña completa es … ")); rotura; }
// Prueba más estilos
printer.boldOn (); impresora.justificar ('R'); printer.println (F ("Grinch")); printer.boldOff (); printer.println (F ("")); impresora.justificar ('L'); // Prueba de carácter de doble altura encendido y apagado printer.doubleHeightOn (); printer.println (F ("¡Feliz Grinchmas!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));
// Imprime el logo de 75x75 pixeles en adalogo.h:
printer.printBitmap (grinch_width, grinch_height, grinch_data);
printer.println (F (""));
printer.println (F (""));
impresora.sueño (); // Dile a la impresora que duerma
retraso (3000L); // Dormir durante 3 segundos printer.wake (); // DEBE despertar () antes de imprimir de nuevo, incluso si se reinicia printer.setDefault (); // Restaurar la impresora a los valores predeterminados}
Paso 4: circuito suave
Como el circuito blando debe colocarse de manera segura en el suéter, presté especial atención al diseño del circuito (Imagen 1) y la ubicación del componente.
Después de probar el circuito completo usando pinzas de cocodrilo y una placa de prueba (Imágenes 2 y 3), me lancé a colocar componentes temporales en el fieltro, antes de coser y soldar (Imágenes 4 y 5).
Nota importante: el cableado, incluidas las resistencias, es esencial, ya que este circuito necesita un divisor de voltaje para evitar que la corriente dañe la placa. (Imagen 6)
Último paso aquí, probando todo (Imagen 7)
Paso 5: Poner todo junto
1) Creación de la fuente de fieltro (imágenes 1 y 2)
2) Coser letras (Imagen 3)
3) Cree una bolsa para el rollo de papel y una estructura para la impresora y el soporte de la batería Li-po (Imágenes 4 y 5). Todo está cosido al jersey.
4) Crea la cara de Grinch que funciona como la cubierta de la impresora. El circuito continúa debajo del sombrero con una capa de cinta conductora de tela que se conecta al pompón. El pompón está hecho de lana verde y fibra conductora. (Imagen 6).
5) Como la fuente de alimentación requiere un cable para funcionar, creé una cubierta hecha de hilo con una tejedora francesa. (Imagen 7 Opcional).
6) El último paso, asegúrese de que todo esté en su lugar y pruébelo.
Recomendado:
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática Este / Oeste: 11 pasos (con imágenes)
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática de este a oeste: El proyecto: Una oficina de 200 pies cuadrados debe funcionar con baterías. La oficina también debe contener todos los controladores, baterías y componentes necesarios para este sistema. La energía solar y eólica cargará las baterías. Hay un pequeño problema de solo
Cómo: Instalación de Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: 7 pasos (con imágenes)
Cómo: Instalar Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: planeo usar este Rapsberry PI en un montón de proyectos divertidos en mi blog. No dudes en comprobarlo. Quería volver a usar mi Raspberry PI, pero no tenía un teclado ni un mouse en mi nueva ubicación. Ha pasado un tiempo desde que configuré una Raspberry
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: 6 pasos (con imágenes)
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: ¡Hola, chicos! Akarsh aquí de CETech. En este proyecto, vamos a echar un vistazo a HuskyLens de DFRobot. Es un módulo de cámara impulsado por inteligencia artificial que es capaz de realizar varias operaciones de inteligencia artificial como el reconocimiento facial
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: 6 pasos (con imágenes)
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: ya escribí un artículo sobre cómo ejecutar demostraciones de OpenMV en Sipeed Maix Bit y también hice un video de demostración de detección de objetos con esta placa. Una de las muchas preguntas que la gente ha hecho es: ¿cómo puedo reconocer un objeto que la red neuronal no está tr
Gesture Hawk: Robot controlado por gestos con la mano utilizando una interfaz basada en procesamiento de imágenes: 13 pasos (con imágenes)
Gesture Hawk: robot controlado por gestos con la mano que utiliza una interfaz basada en procesamiento de imágenes: Gesture Hawk se presentó en TechEvince 4.0 como una sencilla interfaz hombre-máquina basada en el procesamiento de imágenes. Su utilidad radica en el hecho de que no se requieren sensores adicionales o wearables excepto un guante para controlar el automóvil robótico que funciona en diferentes