Inhaltsverzeichnis:
- Schritt 1: Materialliste
- Schritt 2: Drucker testen + einrichten
- Schritt 3: Entwerfen des Programms
- Schritt 4: Weiche Schaltung
- Schritt 5: Alles zusammenfügen
Video: Fröhlicher Grinchmas Pullover, Thermodrucker + GemmaM0 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Der Merry Grinchmas Pullover ist ein interaktives Kleidungsstück, das eine Vielzahl von personalisierten gedruckten Botschaften als Beschwerde bereitstellt, wenn jemand den Hutbommel des Grinch berührt. Anti-Weihnachts-Nachrichten über einen Thermodrucker, der von Gemma MO, Arduino und Capacitive Sensing gesteuert wird.
Schritt 1: Materialliste
- Gemma MO
- Thermodrucker Guts -
- Leitfähiges Gewebeband
- Lockerer Pullover
- Gefühlt
- Roving + Filzset
- Leitfähige Faser -
- Kupferfaden
- Widerstände (3,3k + 2,2k)
- Stromversorgung - 7,5 V, 3 A
- Li-Po-Akku
- Löten
- Stoffkleber
- Arduino Uno, Krokodilklemmen & Steckbrett (zum Testen)
Schritt 2: Drucker testen + einrichten
Testen Sie zunächst den Drucker, um festzustellen, ob er über genügend Strom verfügt. Andernfalls wird beim Drücken der Reset-Taste am Drucker zum Drucken der Testseite immer wieder dieselbe Zeile gedruckt (Abbildung 1).
Wenn der Testdruck herauskommt, ist es an der Zeit, die BaudRate zu überprüfen, da die Printer Guts mit 9600 arbeiten und die Adafruits Library standardmäßig 19200 verwendet, wie andere Thermodrucker, die sie verkaufen. Überprüfen Sie es hier:
Abbildung 3 zeigt speziell, wie der Drucker angeschlossen wird.
Der Test hilft, die verschiedenen Schriftstile zu kalibrieren, um ein individuelles Design zu erstellen. (Bild 4).
Es gibt eine Zufallszahl, die zwischen 12 verschiedenen Sätzen auswählt, einschließlich verschiedener Textstile für Überschrift, Fließtext und Signatur.
Um ein Bild hinzuzufügen, muss es schließlich in ein Bitmap-Bild umgewandelt werden. (Bild 6). Hier fiel die Wahl auf den Grinch. (Bild 7)
Eine letzte Anmerkung. Die Verwendung des Druckers mit Gemma M0 erfordert einige Anpassungen, um die Hardware-Seriennummer zu verwenden (Bild 8).
Schritt 3: Entwerfen des Programms
Was erwarte ich von meinem Programm?
1) Ich habe eine RGB-LED, die visuelles Feedback über den Drucker gibt. Grün für bereit, rot für den Druck
Da der Gemme M0 über ein eingebettetes Neopixel verfügt, muss die LED zum Codieren wie ein LED-Streifen adressiert werden.
#define NUMPIXELS 1 // Anzahl der LEDs im Streifen
Leere Einrichtung () {
strip.begin(); // Pins für die Ausgabe initialisieren strip.show(); // Schalten Sie alle LEDs so schnell wie möglich aus
}
Leere Schleife () {
strip.setPixelColor (0, 255, 127, 0);
Strip-Show();
}
2) Ein kapazitiver Sensor, der das System auslöst.
Die kapazitive Erfassung erfordert eine Bibliothek und die Definition einiger Variablen. Es verwendet einen analogen Eingang, der kalibriert werden muss. Ich kann einige Tests erfordern, um die Touch-Werte zu ändern.
#include "Adafruit_FreeTouch.h"
int touch = 1000;#define CAPTOUCH_PIN A0
long oldState = 0;
void checkpress() { // Aktuellen Schaltflächenstatus abrufen. long newState = qt_1.measure(); Serial.println (qt_1.measure ()); if (newState > touch && oldState < touch) {// Kurze Verzögerung zum Entprellen der Taste. Verzögerung (20); // Überprüfen Sie, ob die Schaltfläche nach dem Entprellen noch niedrig ist. long newState = qt_1.measure(); } if (newState < touch) { // Nichts tun } else { //Tu dies }
3) Drucken Sie jedes Mal, wenn das System ausgelöst wird, verschiedene Nachrichten
Das Programm wird jedes Mal, wenn das Programm ausgeführt wird, eine Zahl zufällig zuordnen
void printWeihnachten(){
randomSeed(analogRead(0)*analogRead(1));
randomNumber = random(1, 12);
Drucker.inverseOn();
printer.println(F("Xmas Inc. präsentiert")); Drucker.inverseOff();
Schalter (zufällige Zahl) {
Fall 1: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Darum geht es doch, nicht wahr? Darum ging es schon immer*. Geschenke, Geschenke… Geschenke, Geschenke, Geschenke, Geschenke, Geschenke! Du willst wissen, was mit deinen Geschenken passiert? Sie kommen alle zu mir. In deinem Müll. Verstehst du, was ich sage? In deinem *Müll*. Ich könnte mich mit all den schlechten Weihnachtskrawatten, die ich auf der Müllhalde gefunden habe, aufhängen. Und die Geiz..")); brechen; Fall 2: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Oh, die Who-Manity.")); Fall 3: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Oh nein, der Schlitten, die Geschenke, sie werden zerstört, und das interessiert mich!")); brechen; Fall 4: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Blast diese Weihnachtsmusik. Es ist fröhlich und triumphierend.")); brechen; Fall 5: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Iss ich nur, weil mir langweilig ist?")); brechen; Fall 6: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Es gibt jedoch eine winzige Weihnachtstradition, die ich sehr bedeutungsvoll finde…[hält Mistelzweig hoch]Mistelzweig.[legt Mistelzweig über seinen Hintern]Jetzt zieh dich zusammen und küsse ihn, Whoville![wackelt Mistelzweig] Boi-yoi-yoi-yoing!")); brechen; Fall 7: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Jetzt hör mir zu, junge Dame! Auch wenn wir *schrecklich verstümmelt* sind, wird es an Weihnachten keine traurigen Gesichter geben.")); brechen; Fall 8: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Urlaub wer-sein-was-ee?")); brechen; Fall 9: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Haben Sie ein fröhliches Weihnachtsfest?")); brechen; Fall 10: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Und sie werden schlemmen, schlemmen, schlemmen, schlemmen. Sie werden ihren Who-Pudding und das seltene Who-Roast Beast essen. Aber das ist etwas, das ich einfach nicht ertragen kann. Oh nein. Ich ICH SPRECHE IN REIMEN!")); brechen; Fall 11: // Anweisungen printer.println(F("")); // Textausrichtung einstellen (rechts, mittig, links) -- akzeptiert 'L', 'C', 'R' printer.justify('L'); printer.println(F("Der Geiz hört nie auf! Ich will Golfschläger. Ich will Diamanten. Ich will ein Pony, damit ich es zweimal reiten kann, langweile und verkaufe es, um Klebstoff herzustellen. Schau, ich will keine Wellen schlagen, aber diese *ganze* Weihnachtszeit ist…")); brechen; }
// Weitere Styles testen
Drucker.boldOn(); Drucker.justify('R'); printer.println(F("Grinch")); Drucker.boldOff(); Drucker.println(F("")); Drucker.justify('L'); // Testzeichen double-height on & off printer.doubleHeightOn(); printer.println(F("Fröhliche Grinchmas!")); Drucker.doubleHeightOff(); Drucker.println(F("")); Drucker.println(F(""));
// Drucken Sie das 75x75-Pixel-Logo in adalogo.h:
printer.printBitmap (grinch_width, grinch_height, grinch_data);
Drucker.println(F(""));
Drucker.println(F(""));
Drucker.sleep(); // Drucker soll schlafen gehen
Verzögerung (3000L); // 3 Sekunden schlafen printer.wake(); // MUSS Wake() vor dem erneuten Drucken aufwachen, auch wenn Drucker zurückgesetzt.setDefault(); // Drucker auf Standard zurücksetzen }
Schritt 4: Weiche Schaltung
Da die weiche Schaltung sicher im Pullover platziert werden muss, habe ich besonderes Augenmerk auf das Schaltungsdesign (Bild 1) und die Platzierung des Bauteils gelegt.
Nachdem ich die komplette Schaltung mit Krokodilklemmen und Steckbrett getestet hatte (Bilder 2 & 3), sprang ich in das Platzieren temporärer Komponenten auf dem Filz, bevor ich nähte und lötete (Bild 4 & 5).
Wichtiger Hinweis: Die Verdrahtung einschließlich der Widerstände ist unbedingt erforderlich, da diese Schaltung einen Spannungsteiler benötigt, um zu verhindern, dass der Strom die Platine beschädigt. (Bild 6)
Letzter Schritt hier, alles testen (Bild 7)
Schritt 5: Alles zusammenfügen
1) Erstellen der Filzschrift (Bild 1 & 2)
2) Buchstaben nähen (Bild 3)
3) Erstellen Sie eine Tasche für die Papierrolle und eine Struktur für den Drucker und den Li-Po-Batteriehalter (Bild 4 & 5). Alles ist an den Pullover genäht.
4) Erstellen Sie das Grinch-Gesicht, das als Druckerabdeckung dient. Der Stromkreis setzt sich unter dem Hut mit einer Schicht leitfähigen Gewebebandes fort, das mit dem Pompon verbunden ist. Der Pompon besteht aus grünem Wollroving und leitfähiger Faser. (Bild 6).
5) Da die Stromversorgung ein Kabel erfordert, habe ich mit einer französischen Strickerin eine Abdeckung aus Garn hergestellt. (Bild 7 Optional).
6) Der allerletzte Schritt, vergewissern Sie sich, dass alles vorhanden ist und probieren Sie es an!