Tabla de contenido:

Suéter Merry Grinchmas, Impresora Térmica + GemmaM0: 5 Pasos (con Imágenes)
Suéter Merry Grinchmas, Impresora Térmica + GemmaM0: 5 Pasos (con Imágenes)

Video: Suéter Merry Grinchmas, Impresora Térmica + GemmaM0: 5 Pasos (con Imágenes)

Video: Suéter Merry Grinchmas, Impresora Térmica + GemmaM0: 5 Pasos (con Imágenes)
Video: Эп. 68: 25 предметов, ПРОДАННЫХ на eBay за $1372,66. 2024, Mes de julio
Anonim
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0
Jersey Merry Grinchmas, Impresora Térmica + GemmaM0

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

Prueba + Configurar impresora
Prueba + Configurar impresora
Prueba + Configurar impresora
Prueba + Configurar impresora
Prueba + Configurar impresora
Prueba + 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

Diseñando el programa
Diseñando el 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

Circuito suave
Circuito suave
Circuito suave
Circuito suave
Circuito suave
Circuito suave
Circuito suave
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

Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo 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: