Table des matières:

Pull Merry Grinchmas, Imprimante Thermique + GemmaM0 : 5 Étapes (avec Photos)
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0 : 5 Étapes (avec Photos)

Vidéo: Pull Merry Grinchmas, Imprimante Thermique + GemmaM0 : 5 Étapes (avec Photos)

Vidéo: Pull Merry Grinchmas, Imprimante Thermique + GemmaM0 : 5 Étapes (avec Photos)
Vidéo: Распаковка 6 поддонов Target General Merchandise Mystery Liquid Liquidation от Quicklotz для продажи с целью получения прибыли 2024, Juillet
Anonim
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0
Pull Merry Grinchmas, Imprimante Thermique + GemmaM0

Le pull Merry Grinchmas est un vêtement interactif qui fournit un large éventail de messages imprimés personnalisés pour se plaindre chaque fois que quelqu'un touche le pompon du chapeau du Grinch. Messages anti-Noël provenant d'une imprimante thermique contrôlée par Gemma MO, Arduino et Capacitive Sensing.

Étape 1: Liste des matériaux

- Gemma MO

- Imprimante thermique Guts -

- Ruban en tissu conducteur

- Pull ample

- Se sentait

- Kit Roving + feutrage

- Fibre conductrice -

- Fil de cuivre

- Résistances (3.3k + 2.2k)

- Alimentation - 7.5V, 3A

- Batterie Li-Po

- Soudure

- Colle à tissu

- Arduino Uno, pinces crocodiles et planche à pain (pour les tests)

Étape 2: Tester + Configurer l'imprimante

Tester + Configurer l'imprimante
Tester + Configurer l'imprimante
Tester + Configurer l'imprimante
Tester + Configurer l'imprimante
Tester + Configurer l'imprimante
Tester + Configurer l'imprimante

Tout d'abord, testez l'imprimante pour voir si elle a assez de puissance, sinon, lorsque vous appuyez sur le bouton de réinitialisation de l'imprimante pour imprimer la page de test, elle continuera à imprimer la même ligne encore et encore (image 1).

Lorsque l'impression de test sort, il est temps de vérifier le BaudRate car l'imprimante Guts fonctionne à 9600 et, par défaut, la bibliothèque Adafruits utilise 19200 comme les autres imprimantes thermiques qu'ils vendent. Vérifiez-le ici:

L'image 3 montre précisément comment câbler l'imprimante.

Le test permet de calibrer les différents styles de police pour créer n'importe quel design personnalisé. (Photo 4).

Il existe un nombre aléatoire qui choisit entre 12 phrases différentes, y compris différents styles de texte pour un titre, un corps de texte et une signature.

Enfin, pour ajouter une image, elle doit être convertie en image Bitmap. (Photo 6). Ici, le choix était le Grinch. (Photo 7)

Une dernière remarque. L'utilisation de l'imprimante avec Gemma M0, nécessite quelques ajustements pour utiliser la série matérielle (Image 8).

Étape 3: Conception du programme

Conception du programme
Conception du programme

Qu'est-ce que j'attends de mon programme?

1) J'ai une led RVB qui donne un retour visuel sur l'imprimante. Vert pour prêt, rouge pour impression

Comme le Gemme M0 a un Neopixel intégré, pour le coder, la led doit être adressée comme s'il s'agissait d'une bande LED.

#define NUMPIXELS 1 // Nombre de LED dans la bande

void setup() {

strip.begin(); // Initialiser les broches pour la sortie strip.show(); // Éteindre toutes les LED au plus vite

}

boucle vide(){

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

strip.show();

}

2) Un capteur capacitif qui déclenche le système.

La détection capacitive nécessite une bibliothèque et la définition de certaines variables. Il utilise une entrée analogique qui doit être calibrée. Je peux avoir besoin de quelques tests pour changer les valeurs de toucher.

#include "Adafruit_FreeTouch.h"

int touch = 1000;#define CAPTOUCH_PIN A0

ancien état long = 0;

void checkpress() { // Récupère l'état actuel du bouton. long newState = qt_1.measure(); Serial.println(qt_1.measure()); if (newState > touch && oldState < touch) { // Court délai pour le bouton anti-rebond. retard(20); // Vérifie si le bouton est toujours bas après l'anti-rebond. long newState = qt_1.measure(); } if (newState < touch) { // Ne rien faire } else { // Faire ceci }

3) Imprimez des messages différents à chaque fois que le système est déclenché

Le programme va randomiser un nombre à chaque fois que le programme s'exécute

void printNoël(){

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

numéro aléatoire = aléatoire (1, 12);

imprimante.inverseOn();

imprimante.println(F("Xmas Inc. Présente")); imprimante.inverseOff();

commutateur (numéro aléatoire) {

case 1: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); printer.println(F("C'est de ça qu'il s'agit, n'est-ce pas ? C'est de ça qu'il a toujours été *à propos*. Cadeaux, cadeaux… cadeaux, cadeaux, cadeaux, cadeaux, cadeaux ! Vous voulez savoir ce qu'il advient de vos cadeaux ? Ils viennent tous à moi. Dans tes poubelles. Tu vois ce que je dis ? Dans tes *poubelles*. Je pourrais me pendre avec toutes les mauvaises cravates de Noël que j'ai trouvées à la décharge. Et l'avarice..")); Pause; cas 2: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); imprimante.println(F("Oh, le Who-manity.")); case 3: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); printer.println(F("Oh, non, le traîneau, les cadeaux, ils seront détruits, et je m'en fiche !")); Pause; case 4: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); printer.println(F("Faire exploser cette musique de Noël. C'est joyeux et triomphant.")); Pause; case 5: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); imprimante.println(F("Est-ce que je mange juste parce que je m'ennuie ?")); Pause; cas 6: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); printer.println(F("Il y a, cependant, une toute petite tradition de Noël que je trouve assez significative…[montre le gui]Le gui.[met le gui sur ses fesses]Maintenant, plissez-vous et embrassez-le, Whoville ![agite le gui] Boi-yoi-yoi-yoing !")); Pause; cas 7: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); printer.println(F("Maintenant, écoutez-moi, jeune fille ! Même si nous sommes *horriblement mutilés*, il n'y aura pas de visages tristes à Noël.")); Pause; case 8: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); imprimante.println(F("Vacances qui-être quoi-ee?")); Pause; case 9: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); imprimante.println(F("Passez-vous un joyeux Noël de houx ?")); Pause; case 10: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); printer.println(F("Et ils vont festoyer, festoyer, festoyer, festoyer. Ils mangeront leur Who-Pudding et leur rare Who-Roast Beast. Mais c'est quelque chose que je ne peux pas supporter le moins du monde. Oh, non. Je 'M PARLE EN COMPTE !")); Pause; case 11: // déclarations imprimante.println(F("")); // Définir la justification du texte (droite, centre, gauche) -- accepte 'L', 'C', 'R' printer.justify('L'); printer.println(F("L'avarice ne s'arrête jamais ! Je veux des clubs de golf. Je veux des diamants. Je veux un poney pour pouvoir le monter deux fois, m'ennuyer et le vendre pour faire de la colle. Écoute, je ne veux pas faire de vagues, mais cette *toute* saison de Noël est…")); Pause; }

// Tester plus de styles

imprimante.boldOn(); imprimante.justify('R'); imprimante.println(F("Grinch")); imprimante.boldOff(); imprimante.println(F("")); imprimante.justify('L'); // Test du caractère double hauteur on & off printer.doubleHeightOn(); imprimante.println(F("Joyeux Grinchmas !")); imprimante.doubleHeightOff(); imprimante.println(F("")); imprimante.println(F(""));

// Imprimer le logo 75x75 pixels dans adalogo.h:

imprimante.printBitmap(grinch_width, grinch_height, grinch_data);

imprimante.println(F(""));

imprimante.println(F(""));

imprimante.sommeil(); // Demande à l'imprimante de se mettre en veille

retard (3000L); // Veille pendant 3 secondes printer.wake(); // DOIT se réveiller () avant d'imprimer à nouveau, même si reset printer.setDefault (); // Restaure l'imprimante aux valeurs par défaut }

Étape 4: Circuit souple

Circuit doux
Circuit doux
Circuit doux
Circuit doux
Circuit doux
Circuit doux
Circuit doux
Circuit doux

Comme le circuit souple doit être placé en toute sécurité dans le pull, j'ai porté une attention particulière à la conception du circuit (Photo 1) et au placement du composant.

Après avoir testé le circuit complet à l'aide de pinces crocodiles et de planche à pain (photos 2 et 3), j'ai sauté sur le placement de composants temporaires sur le feutre, avant de coudre et de souder (photos 4 et 5).

Remarque importante: Le câblage incluant les résistances est essentiel car ce circuit a besoin d'un diviseur de tension pour éviter que le courant n'endommage la carte. (Photo 6)

Dernière étape ici, tout tester (Photo 7)

Étape 5: Tout assembler

Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble

1) Création de la police de caractères en feutre (Photo 1 & 2)

2) Coudre des lettres (image 3)

3) Créez une pochette pour le rouleau de papier et une structure pour l'imprimante et le support de batterie Li-po (Photo 4 & 5). Tout est cousu au pull.

4) Créez le visage Grinch qui fonctionne comme le capot de l'imprimante. Le circuit se poursuit sous le bonnet avec une couche de ruban conducteur en tissu qui se connecte au pompon. Le pompon est composé de mèche de laine verte et de fibre conductrice. (Photo 6).

5) Comme l'alimentation nécessite un cordon pour être alimenté, j'ai créé une housse en fil à l'aide d'un tricoteur français. (Photo 7 Facultatif).

6) La toute dernière étape, assurez-vous que tout est en place et essayez-le !

Conseillé: