Taula de continguts:

Feliç jersei Grinchmas, impressora tèrmica + GemmaM0: 5 passos (amb imatges)
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0: 5 passos (amb imatges)

Vídeo: Feliç jersei Grinchmas, impressora tèrmica + GemmaM0: 5 passos (amb imatges)

Vídeo: Feliç jersei Grinchmas, impressora tèrmica + GemmaM0: 5 passos (amb imatges)
Vídeo: Print Your Own Posters, T-Shirts and More // Screen Printing Basics 2024, Desembre
Anonim
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0
Feliç jersei Grinchmas, impressora tèrmica + GemmaM0

El jersei Merry Grinchmas és una peça interactiva que proporciona una àmplia gamma de missatges impresos personalitzats com a queixa quan algú toca el pompon del barret de Grinch. Missatges anti-nadalencs que arriben a través d’una impressora tèrmica controlada per Gemma MO, Arduino i Capacitive Sensing.

Pas 1: llista de materials

- Gemma MO

- Impressora tèrmica Guts -

- Cinta de tela conductora

- Jersei fluix

- Feltre

- Roving + kit de feltre

- Fibra conductora -

- Fil de coure

Resistències (3,3 k + 2,2 k)

- Font d'alimentació - 7,5 V, 3A

- Bateria Li-Po

- Soldar

- Cola de tela

- Arduino Uno, Clips de cocodril i taulers de suport (per provar)

Pas 2: prova + configuració de la impressora

Impressora de prova + configuració
Impressora de prova + configuració
Impressora de prova + configuració
Impressora de prova + configuració
Impressora de prova + configuració
Impressora de prova + configuració

Primer de tot, proveu la impressora per veure si té prou potència; en cas contrari, en prémer el botó de restabliment de la impressora per imprimir la pàgina de prova, continuarà imprimint la mateixa línia una vegada i una altra (imatge 1).

Quan surt la impressió de prova, és hora de comprovar el BaudRate, ja que el Printer Guts funciona a 9600 i, per defecte, Adafruits Library utilitza el 19200 com altres impressores tèrmiques que venen. Consulteu-lo aquí:

La imatge 3 mostra específicament com connectar la impressora.

La prova ajuda a calibrar els diferents estils de lletra per crear qualsevol disseny personalitzat. (Imatge 4).

Hi ha un número aleatori que tria entre 12 frases diferents que inclouen estils textuals diferents per a un encapçalament, text corporal i signatura.

Per últim, per afegir qualsevol imatge, cal convertir-la en una imatge de mapa de bits. (Imatge 6). Aquí l’elecció va ser el Grinch. (Imatge 7)

Una última nota. L'ús de la impressora amb Gemma M0 requereix alguns ajustos per utilitzar la sèrie de maquinari (imatge 8).

Pas 3: Dissenyar el programa

Disseny del programa
Disseny del programa

Què espero del meu programa?

1) Tinc un led RGB que proporciona informació visual sobre la impressora. Verd per llest, vermell per imprimir

Com que el Gemme M0 té un Neopixel incrustat, per codificar-lo, cal dirigir el led com si fos una tira LED.

#define NUMPIXELS 1 // Nombre de LEDs a la tira

configuració nul·la () {

strip.begin (); // Inicialitzar els pins per a la sortida strip.show (); // Apagueu tots els LED el més aviat possible

}

bucle buit () {

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

strip.show ();

}

2) Un sensor capacitiu que activa el sistema.

La detecció capacitiva requereix una biblioteca i definir algunes variables. Utilitza una entrada analògica que cal calibrar. És possible que necessiteu algunes proves per canviar els valors del tacte.

#include "Adafruit_FreeTouch.h"

int touch = 1000; #define CAPTOUCH_PIN A0

long oldState = 0;

void checkpress () {// Obtén l'estat actual del botó. llarg estat nou = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Botó de retard breu per rebotar. retard (20); // Comproveu si el botó continua baix després de rebotar. llarg estat nou = qt_1.measure (); } if (newState <touch) {// No feu res} més {// Feu això}

3) Imprimiu diferents missatges cada vegada que s'activa el sistema

El programa aleatoritzarà un número cada vegada que s’executi

void printChristmas () {

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

número aleatori = aleatori (1, 12);

printer.inverseOn ();

printer.println (F ("Xmas Inc. Presents")); printer.inverseOff ();

commutador (número aleatori) {

cas 1: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer. Tots vénen a mi. A les vostres escombraries. Ja veieu el que dic? A les vostres * escombraries *. Podria penjar-me amb totes les corbates dolentes de Nadal que vaig trobar a l'abocador. I l'avarícia.. ")); trencar; cas 2: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("Oh, la Who-manity")); cas 3: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("Oh, no, el trineu, els regals, seran destruïts i m'importa!")); trencar; cas 4: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("Explota aquesta música nadalenca. És alegre i triomfant")); trencar; cas 5: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("Només menjo perquè m'avorreixo?")); trencar; cas 6: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("Tanmateix, hi ha una petita i petita tradició nadalenca que em sembla molt significativa … [sosté el vesc] Vesc. [Es posa el vesc a la part del darrere.) Ara pica-ho i besa-ho, Whoville! Boi-yoi-yoi-yoing! ")); trencar; cas 7: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("Ara m'escolteu, senyoreta! Fins i tot si estem * horriblement maltractats *, no hi haurà rostres tristos el Nadal.")); trencar; cas 8: // declaracions printer.println (F ("")); // Estableix la justificació del text (dreta, centre, esquerra): accepta 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Holiday who-be what-ee?")); trencar; cas 9: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("Tens un Nadal grèvol i alegre?")); trencar; cas 10: // declaracions printer.println (F ("")); // Estableix la justificació del text (dreta, centre, esquerra): accepta 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("I faran festa, festa, festa, festa. Menjaran el seu Who-Pudding i la rara Who-Roast Beast. Però això és quelcom que no puc suportar en absolut. Oh, no. Jo 'PARLO EN RIMA! ")); trencar; cas 11: // declaracions printer.println (F ("")); // Establir la justificació del text (dreta, centre, esquerra): accepta "L", "C", "R" printer.justify ("L"); printer.println (F ("L'avarícia no s'acaba mai! Vull clubs de golf. Vull diamants. Vull un poni per poder muntar-lo dues vegades, avorrir-me i vendre'l per fer cola. Mira, no vull fer onades, però aquesta temporada de Nadal * sencera * és … ")); trencar; }

// Prova més estils

printer.boldOn (); printer.justify ('R'); printer.println (F ("Grinch")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Caràcter de prova de doble alçada activat i desactivat printer.doubleHeightOn (); printer.println (F ("Merry Grinchmas!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));

// Imprimiu el logotip de 75x75 píxels a adalogo.h:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

printer.println (F (""));

printer.println (F (""));

printer.sleep (); // Digueu a la impressora que dormi

retard (3000L); // Dormir 3 segons printer.wake (); // S’HA DE despertar () abans d’imprimir de nou, fins i tot si restableix printer.setDefault (); // Restaura la impressora per defecte}

Pas 4: Circuit suau

Circuit suau
Circuit suau
Circuit suau
Circuit suau
Circuit suau
Circuit suau
Circuit suau
Circuit suau

Com que el circuit suau s’ha de col·locar de forma segura al jersei, vaig prestar especial atenció al disseny del circuit (imatge 1) i a la ubicació del component.

Després de provar el circuit complet utilitzant pinces de cocodril i taulers de paret (Imatges 2 i 3), vaig saltar a col·locar components temporals al feltre, abans de cosir i soldar (Imatges 4 i 5).

Nota important: el cablejat que inclou les resistències és essencial, ja que aquest circuit necessita un divisor de tensió per evitar que el corrent danyi la placa. (Imatge 6)

Últim pas aquí, provant-ho tot (imatge 7)

Pas 5: ajuntar-ho tot

Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt

1) Creació de la cara de tipus de lletra de feltre (Imatges 1 i 2)

2) Cosir cartes (imatge 3)

3) Creeu una bossa per al rotlle de paper i una estructura per a la impressora i el suport de la bateria Li-po (Imatges 4 i 5). Tot està cosit al jersei.

4) Creeu la cara Grinch que funcioni com la tapa de la impressora. El circuit continua sota el barret amb una capa de cinta conductora de tela que es connecta al pompon. El pompon està fabricat amb fibra conductora i de llana verda. (Imatge 6).

5) Com que la font d'alimentació requereix un cable per alimentar-se, he creat una coberta de fil amb un teixidor francès. (Imatge 7 opcional).

6) L'últim pas, assegureu-vos que tot estigui al seu lloc i proveu-ho.

Recomanat: