Índice:

Camisola Merry Grinchmas, Impressora Térmica + GemmaM0: 5 etapas (com fotos)
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0: 5 etapas (com fotos)

Vídeo: Camisola Merry Grinchmas, Impressora Térmica + GemmaM0: 5 etapas (com fotos)

Vídeo: Camisola Merry Grinchmas, Impressora Térmica + GemmaM0: 5 etapas (com fotos)
Vídeo: 4 Quick & Easy Last Minute DIY Christmas Sweatshirts: vinyl, sublimation, embroidery & iron patches 2024, Julho
Anonim
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0
Camisola Merry Grinchmas, Impressora Térmica + GemmaM0

O suéter Merry Grinchmas é uma peça interativa que oferece uma ampla gama de mensagens impressas personalizadas como uma reclamação sempre que alguém toca o pompom do chapéu do Grinch. Mensagens anti-natalinas que chegam por meio de uma impressora térmica controlada por Gemma MO, Arduino e Sensor Capacitivo.

Etapa 1: Lista de Materiais

- Gemma MO

- Tripas de impressora térmica -

- Fita de tecido condutivo

- Suéter solto

- Sentiu

- Kit de mecha + feltragem

- Fibra condutiva -

- Fio de cobre

- Resistores (3,3k + 2,2k)

- Fonte de alimentação - 7,5 V, 3 A

- Bateria Li-Po

- solda

- cola de tecido

- Arduino Uno, Alligator Clips e breadboard (para teste)

Etapa 2: Teste + Configuração da Impressora

Teste + Configuração da Impressora
Teste + Configuração da Impressora
Teste + Configuração da Impressora
Teste + Configuração da Impressora
Teste + Configuração da Impressora
Teste + Configuração da Impressora

Em primeiro lugar, teste a impressora para ver se tem energia suficiente, caso contrário, ao pressionar o botão reset na impressora para imprimir a página de teste ela continuará imprimindo a mesma linha indefinidamente (figura 1).

Quando o teste de impressão sair, é hora de verificar a BaudRate, já que o Printer Guts funciona a 9600 e, por padrão, a Adafruits Library, usa 19200 como outras impressoras térmicas que eles vendem. Verifique aqui:

A Figura 3 mostra especificamente como fazer a fiação da impressora.

O teste ajuda a calibrar os diferentes estilos de fonte para criar qualquer design personalizado. (Figura 4).

Há um número aleatório que escolhe entre 12 frases diferentes, incluindo estilos textuais diferentes para um título, corpo do texto e assinatura.

Por último, para adicionar qualquer imagem, ela precisa ser convertida em uma imagem Bitmap. (Figura 6). Aqui, a escolha foi o Grinch. (Figura 7)

Uma última nota. O uso da impressora com Gemma M0 requer alguns ajustes para uso do Hardware serial (Figura 8).

Etapa 3: projetando o programa

Projetando o Programa
Projetando o Programa

O que eu espero do meu programa?

1) Tenho um led RGB que fornece feedback visual sobre a impressora. Verde para pronto, vermelho para impressão

Como a Gemme M0 possui um Neopixel embutido, para codificá-lo, o led precisa ser endereçado como se fosse uma faixa de LED.

#define NUMPIXELS 1 // Número de LEDs na faixa

void setup () {

strip.begin (); // Inicializa os pinos para a saída strip.show (); // Desligue todos os LEDs o mais rápido possível

}

void loop () {

strip.setPixelColor (0, 255, 127, 0);

strip.show ();

}

2) Um sensor capacitivo que aciona o sistema.

O sensoriamento capacitivo requer uma biblioteca e a definição de algumas variáveis. Ele usa uma entrada analógica que precisa ser calibrada. Posso exigir alguns testes para alterar os valores do toque.

#include "Adafruit_FreeTouch.h"

int touch = 1000; # define CAPTOUCH_PIN A0

long oldState = 0;

void checkpress () {// Obtém o estado atual do botão. longo newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Atraso curto para botão de debounce. atraso (20); // Verifique se o botão ainda está baixo após o debounce. longo newState = qt_1.measure (); } if (newState <touch) {// Não faça nada} mais {// Faça isso}

3) Imprima mensagens diferentes toda vez que o sistema for acionado

O programa irá randomizar um número toda vez que o programa for executado

void printChristmas () {

randomSeed (analogRead (0) * analogRead (1));

randomNumber = random (1, 12);

printer.inverseOn ();

printer.println (F ("Presentes de Natal")); printer.inverseOff ();

switch (randomNumber) {

caso 1: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("É disso que se trata, não é? É isso que sempre foi * sobre *. Presentes, presentes … presentes, presentes, presentes, presentes, presentes! Quer saber o que acontece com os seus presentes? Todos vêm até mim. No seu lixo. Está vendo o que estou dizendo? No seu * lixo *. Eu poderia me enforcar com todas as gravatas de Natal ruins que encontrei no lixão. E a avareza … ")); pausa; caso 2: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Oh, quem é.")); caso 3: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Oh, não, o trenó, os presentes, eles serão destruídos e eu me importo!")); pausa; caso 4: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Explodir essa música de Natal. É alegre e triunfante.")); pausa; caso 5: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Estou apenas comendo porque estou entediado?")); pausa; caso 6: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Há, no entanto, uma pequenina tradição de Natal que considero bastante significativa … [levanta o visco] Visco. [coloca o visco sobre a bunda] Agora enrugue-se e beije-o, Whoville! [mexe o visco] Boi-yoi-yoi-yoing! ")); pausa; case 7: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Agora me escute, mocinha! Mesmo que sejamos * horrivelmente mutilados *, não haverá rostos tristes no Natal.")); pausa; caso 8: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Holiday who-be what-ee?")); pausa; caso 9: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Você está tendo um Natal alegre, azevinho?")); pausa; caso 10: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("E eles festejarão, festejarão, festejarão, festejarão. Eles comerão seu Pudim-Quem e Besta Assada Rara. Mas isso é algo que eu simplesmente não suporto. Oh, não. Eu ESTOU FALANDO EM RIMA! ")); pausa; case 11: // instruções printer.println (F ("")); // Definir a justificação do texto (direita, centro, esquerda) - aceita 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("A avareza nunca acaba! Quero tacos de golfe. Quero diamantes. Quero um pônei para poder montá-lo duas vezes, ficar entediado e vendê-lo para fazer cola. Olha, não quero fazer ondas, mas toda esta época de Natal é… ")); pausa; }

// Teste mais estilos

printer.boldOn (); printer.justify ('R'); printer.println (F ("Grinch")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Teste o caractere de altura dupla on e off printer.doubleHeightOn (); printer.println (F ("Merry Grinchmas!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));

// Imprima o logotipo de 75x75 pixels em adalogo.h:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

printer.println (F (""));

printer.println (F (""));

printer.sleep (); // Diga à impressora para dormir

atraso (3000L); // Dormir por 3 segundos printer.wake (); // DEVE wake () antes de imprimir novamente, mesmo se resetar printer.setDefault (); // Restaura a impressora aos padrões}

Etapa 4: Circuito flexível

Circuito Soft
Circuito Soft
Circuito Soft
Circuito Soft
Circuito Soft
Circuito Soft
Circuito Soft
Circuito Soft

Como o circuito flexível precisa ser colocado com segurança no suéter, prestei atenção especial ao design do circuito (Figura 1) e à colocação dos componentes.

Depois de testar o circuito completo usando pinças jacaré e placa de ensaio (Figuras 2 e 3), comecei a colocar componentes temporários no feltro, antes de costurar e soldar (Figuras 4 e 5).

Nota importante: A fiação incluindo os resistores é essencial, pois este circuito precisa de um divisor de tensão para evitar que a corrente danifique a placa. (Figura 6)

Última etapa aqui, testando tudo (Figura 7)

Etapa 5: juntando tudo

Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo

1) Criação da face da fonte de feltro (Figuras 1 e 2)

2) Costurar Cartas (Figura 3)

3) Crie uma bolsa para o rolo de papel e uma estrutura para a impressora e o suporte da bateria Li-po (Figuras 4 e 5). Tudo está costurado no suéter.

4) Crie a face Grinch que funciona como a tampa da impressora. O circuito continua sob o chapéu com uma camada de fita adesiva de tecido que se conecta ao pompon. O pompon é feito de mecha de lã verde e fibra condutora. (Figura 6).

5) Como a fonte de alimentação precisa de um cabo de alimentação, criei uma capa de lã usando uma tricotadora francesa. (Figura 7 opcional).

6) A última etapa, certifique-se de que tudo está no lugar e experimente!

Recomendado: