Sommario:

Maglione Merry Grinchmas, stampante termica + GemmaM0: 5 passaggi (con immagini)
Maglione Merry Grinchmas, stampante termica + GemmaM0: 5 passaggi (con immagini)

Video: Maglione Merry Grinchmas, stampante termica + GemmaM0: 5 passaggi (con immagini)

Video: Maglione Merry Grinchmas, stampante termica + GemmaM0: 5 passaggi (con immagini)
Video: 4 Quick & Easy Last Minute DIY Christmas Sweatshirts: vinyl, sublimation, embroidery & iron patches 2024, Dicembre
Anonim
Maglione Merry Grinchmas, stampante termica + GemmaM0
Maglione Merry Grinchmas, stampante termica + GemmaM0
Maglione Merry Grinchmas, stampante termica + GemmaM0
Maglione Merry Grinchmas, stampante termica + GemmaM0
Maglione Merry Grinchmas, stampante termica + GemmaM0
Maglione Merry Grinchmas, stampante termica + GemmaM0
Maglione Merry Grinchmas, stampante termica + GemmaM0
Maglione Merry Grinchmas, stampante termica + GemmaM0

Il maglione Merry Grinchmas è un capo interattivo che fornisce una vasta gamma di messaggi stampati personalizzati come protesta ogni volta che qualcuno tocca il pompon del cappello del Grinch. Messaggi anti-natalizio provenienti da una stampante termica controllata da Gemma MO, Arduino e Capacitive Sensing.

Passaggio 1: elenco dei materiali

- Gemma MO

- Stampante termica Guts -

- Nastro in tessuto conduttivo

- Maglione allentato

- Provato

- Kit stoppino + feltro

- Fibra conduttiva -

- Filo di rame

- Resistori (3.3k + 2.2k)

- Alimentazione - 7.5V, 3A

- Batteria Li-Po

- Saldare

- Colla per tessuti

- Arduino Uno, morsetti a coccodrillo e breadboard (per i test)

Passaggio 2: test e configurazione della stampante

Stampante di prova + configurazione
Stampante di prova + configurazione
Stampante di prova + configurazione
Stampante di prova + configurazione
Stampante di prova + configurazione
Stampante di prova + configurazione

Prima di tutto, testare la stampante per vedere se ha abbastanza potenza, altrimenti, quando si preme il pulsante di ripristino sulla stampante per stampare la pagina di prova, continuerà a stampare la stessa riga più e più volte (figura 1).

Quando esce la stampa di prova, è il momento di controllare il BaudRate poiché Printer Guts funziona a 9600 e per impostazione predefinita Adafruits Library, utilizza 19200 come altre stampanti termiche che vendono. Controlla qui:

La figura 3 mostra nello specifico come cablare la stampante.

Il test aiuta a calibrare i diversi stili di carattere per creare qualsiasi design personalizzato. (Immagine 4).

C'è un numero casuale che sceglie tra 12 frasi diverse, inclusi diversi stili testuali per intestazione, corpo del testo e firma.

Infine, per aggiungere qualsiasi immagine, è necessario convertirla in un'immagine Bitmap. (Immagine 6). Qui la scelta è stata il Grinch. (Immagine 7)

Un'ultima nota. Utilizzando la stampante con Gemma M0, richiede alcune regolazioni per utilizzare la seriale Hardware (Figura 8).

Passaggio 3: progettazione del programma

Progettazione del programma
Progettazione del programma

Cosa mi aspetto dal mio programma?

1) Ho un led RGB che fornisce un feedback visivo sulla stampante. Verde per pronto, rosso per la stampa

Poiché il Gemme M0 ha un Neopixel incorporato, per codificarlo, il led deve essere indirizzato come se fosse una striscia LED.

#define NUMPIXELS 1 // Numero di LED nella striscia

void setup() {

strip.begin(); // Inizializza i pin per l'output strip.show(); // Spegni tutti i LED al più presto

}

ciclo vuoto(){

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

strip.show();

}

2) Un sensore capacitivo che attiva il sistema.

Il rilevamento capacitivo richiede una libreria e la definizione di alcune variabili. Utilizza un ingresso analogico che deve essere calibrato. Potrei richiedere alcuni test per modificare i valori del tocco.

#include "Adafruit_FreeTouch.h"

int touch = 1000;#define CAPTOUCH_PIN A0

long OldState = 0;

void checkpress() { // Ottieni lo stato corrente del pulsante. lungo nuovoStato = qt_1.measure(); Serial.println(qt_1.measure()); if (newState > touch && oldState < touch) { // Breve ritardo per il pulsante antirimbalzo. ritardo(20); // Controlla se il pulsante è ancora basso dopo l'antirimbalzo. lungo nuovoStato = qt_1.measure(); } if (newState < touch) { // Non fare nulla } else { // Fai questo }

3) Stampa messaggi diversi ogni volta che il sistema viene attivato

Il programma randomizzerà un numero ogni volta che il programma viene eseguito

void printNatale(){

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

numerocasuale = casuale(1, 12);

printer.inverseOn();

printer.println(F("Regali di Natale Inc.")); printer.inverseOff();

switch (numero casuale) {

caso 1: // istruzioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Ecco di cosa si tratta, no? È di questo che si tratta *sempre*. Regali, regali… regali, regali, regali, regali, regali! Vuoi sapere cosa succede ai tuoi regali? Vengono tutti da me. Nella tua spazzatura. Vedi cosa sto dicendo? Nella tua *spazzatura*. Potrei impiccarmi con tutte le brutte cravatte natalizie che ho trovato alla discarica. E l'avarizia..")); rottura; caso 2: // istruzioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Oh, l'umanità del Chi.")); caso 3: // istruzioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Oh, no, la slitta, i regali, saranno distrutti, e me ne importa!")); rottura; case 4: // istruzioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Fai esplodere questa musica natalizia. E' gioiosa e trionfante.")); rottura; caso 5: // dichiarazioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Sto mangiando solo perché mi annoio?")); rottura; caso 6: // dichiarazioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("C'è, tuttavia, una piccolissima tradizione natalizia che trovo abbastanza significativa…[solleva il vischio]Vischio.[si mette il vischio sul sedere]Ora arricciati e bacialo, Whoville![dimenando il vischio] Boi-yoi-yoi-yoing!")); rottura; caso 7: // dichiarazioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Ora ascoltami, signorina! Anche se siamo *orribilmente storpiati*, non ci saranno facce tristi a Natale.")); rottura; case 8: // dichiarazioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Holiday who-be what-ee?")); rottura; case 9: // dichiarazioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("Stai passando un buon Natale?")); rottura; caso 10: // dichiarazioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("E faranno festa, festa, festa, festa. Mangeranno il loro Who-Pudding e la rara Who-Roast Beast. Ma è qualcosa che non sopporto minimamente. Oh, no. Io STO PARLANDO IN RIMA!")); rottura; caso 11: // dichiarazioni printer.println(F("")); // Imposta la giustificazione del testo (destra, centro, sinistra) -- accetta 'L', 'C', 'R' printer.justify('L'); printer.println(F("L'avarizia non finisce mai! Voglio mazze da golf. Voglio diamanti. Voglio un pony così posso cavalcarlo due volte, annoiarmi e venderlo per fare la colla. Guarda, non voglio fare ondate, ma questa *intera* stagione natalizia è…")); rottura; }

// Prova più stili

stampante.boldOn(); printer.justify('R'); printer.println(F("Grinch")); stampante.boldOff(); stampante.println(F("")); printer.justify('L'); // Verifica l'attivazione e la disattivazione della doppia altezza del carattere printer.doubleHeightOn(); printer.println(F("Buon Grinchmas!")); printer.doubleHeightOff(); stampante.println(F("")); stampante.println(F(""));

// Stampa il logo 75x75 pixel in adalogo.h:

printer.printBitmap(grinch_width, grinch_height, grinch_data);

stampante.println(F(""));

stampante.println(F(""));

stampante.sleep(); // Di' alla stampante di dormire

ritardo (3000L); // Sospendi per 3 secondi printer.wake(); // DEVE wake() prima di stampare di nuovo, anche se reset printer.setDefault(); // Ripristina la stampante ai valori predefiniti }

Passaggio 4: circuito morbido

Circuito morbido
Circuito morbido
Circuito morbido
Circuito morbido
Circuito morbido
Circuito morbido
Circuito morbido
Circuito morbido

Poiché il circuito morbido deve essere posizionato in modo sicuro nel maglione, ho prestato particolare attenzione al design del circuito (immagine 1) e al posizionamento del componente.

Dopo aver testato il circuito completo utilizzando morsetti a coccodrillo e breadboard (foto 2 e 3), sono passato al posizionamento di componenti temporanei sul feltro, prima di cucire e saldare (foto 4 e 5).

Nota importante: il cablaggio comprensivo delle resistenze è essenziale in quanto questo circuito necessita di un partitore di tensione per evitare che la corrente danneggi la scheda. (Immagine 6)

Ultimo passaggio qui, testare tutto (Immagine 7)

Passaggio 5: mettere tutto insieme

Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme

1) Creazione del carattere in feltro (Immagine 1 e 2)

2) Cucire lettere (Immagine 3)

3) Creare una busta per il rotolo di carta e una struttura per la stampante e il portabatterie Li-po (Foto 4 e 5). Tutto è cucito al maglione.

4) Creare la faccia Grinch che funzioni come copertina della stampante. Il circuito prosegue sotto il cappello con uno strato di nastro conduttivo in tessuto che si collega al pompon. Il pompon è realizzato in roving di lana verde e fibra conduttiva. (Immagine 6).

5) Siccome l'alimentatore richiede un cavo per essere alimentato ho creato una copertina fatta di filato usando una magliaia francese. (Figura 7 Opzionale).

6) L'ultimo passaggio, assicurati che tutto sia a posto e provalo!

Consigliato: