Πίνακας περιεχομένων:
- Βήμα 1: Λίστα υλικών
- Βήμα 2: Δοκιμή + Ρύθμιση εκτυπωτή
- Βήμα 3: Σχεδιασμός του προγράμματος
- Βήμα 4: Μαλακό κύκλωμα
- Βήμα 5: Συνδυάζοντας τα πάντα μαζί
Βίντεο: Πουλόβερ Merry Grinchmas, Thermal Printer + GemmaM0: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Το πουλόβερ Merry Grinchmas είναι ένα διαδραστικό ρούχο που παρέχει ένα ευρύ φάσμα εξατομικευμένων εκτυπωμένων μηνυμάτων ως παράπονο κάθε φορά που κάποιος αγγίζει το πομπόν του καπέλου του Grinch. Μηνύματα κατά των Χριστουγέννων που έρχονται μέσω ενός θερμικού εκτυπωτή που ελέγχεται από τα Gemma MO, Arduino και Capacitive Sensing.
Βήμα 1: Λίστα υλικών
- Gemma MO
- Thermal printer Guts -
Αγώγιμη υφασμάτινη ταινία
- Χαλαρό πουλόβερ
- Ενιωσα
Κιτ Roving + felting
- Αγώγιμες ίνες -
- Νήμα χαλκού
- Αντιστάσεις (3,3k + 2,2k)
- Τροφοδοσία - 7,5V, 3A
- Μπαταρία Li-Po
- Συγκολλητής
- Κόλλα υφάσματος
- Arduino Uno, κλιπ αλιγάτορα και πλάκα ψωμιού (για δοκιμή)
Βήμα 2: Δοκιμή + Ρύθμιση εκτυπωτή
Πρώτα απ 'όλα, δοκιμάζοντας τον εκτυπωτή για να διαπιστώσετε εάν έχει αρκετή ισχύ, διαφορετικά, όταν πατάτε το κουμπί επαναφοράς στον εκτυπωτή για να εκτυπώσετε τη δοκιμαστική σελίδα, θα συνεχίσει να εκτυπώνει την ίδια γραμμή ξανά και ξανά (εικόνα 1).
Όταν βγει η δοκιμαστική εκτύπωση, ήρθε η ώρα να ελέγξετε το BaudRate καθώς το Printer Guts λειτουργεί σε 9600 και από προεπιλογή η βιβλιοθήκη Adafruits χρησιμοποιεί 19200 όπως και άλλοι θερμικοί εκτυπωτές που πωλούν. Ελέγξτε το εδώ:
Η εικόνα 3 δείχνει συγκεκριμένα τον τρόπο καλωδίωσης του εκτυπωτή.
Η δοκιμή βοηθά στη βαθμονόμηση των διαφορετικών στυλ γραμματοσειράς για να δημιουργήσετε οποιοδήποτε προσαρμοσμένο σχέδιο. (Εικόνα 4).
Υπάρχει ένας τυχαίος αριθμός που επιλέγει μεταξύ 12 διαφορετικών προτάσεων, συμπεριλαμβανομένων διαφορετικών μορφών κειμένου για έναν τίτλο, κείμενο σώματος και υπογραφή.
Τέλος, για να προσθέσετε οποιαδήποτε εικόνα, πρέπει να μετατραπεί σε εικόνα Bitmap. (Εικόνα 6). Εδώ η επιλογή ήταν το Grinch. (Εικόνα 7)
Μια τελευταία σημείωση. Για τη χρήση του εκτυπωτή με Gemma M0, απαιτούνται ορισμένες ρυθμίσεις για τη χρήση του σειριακού υλικού (Εικόνα 8).
Βήμα 3: Σχεδιασμός του προγράμματος
Τι περιμένω από το πρόγραμμά μου;
1) Έχω ένα led RGB που δίνει οπτικά σχόλια για τον εκτυπωτή. Πράσινο για έτοιμο, κόκκινο για εκτύπωση
Καθώς το Gemme M0 διαθέτει ενσωματωμένο Neopixel, για να το κωδικοποιήσετε, το led πρέπει να αντιμετωπιστεί σαν να ήταν μια λωρίδα LED.
#define NUMPIXELS 1 // Αριθμός LED σε λωρίδα
void setup () {
strip.begin (); // Αρχικοποίηση ακίδων για τη λωρίδα εξόδου.show (); // Απενεργοποιήστε όλα τα LED το συντομότερο δυνατό
}
void loop () {
strip.setPixelColor (0, 255, 127, 0);
strip.show ();
}
2) Ένας χωρητικός αισθητήρας που ενεργοποιεί το σύστημα.
Η χωρητική ανίχνευση απαιτεί βιβλιοθήκη και καθορισμό ορισμένων μεταβλητών. Χρησιμοποιεί μία Αναλογική Είσοδο που πρέπει να βαθμονομηθεί. Μπορεί να απαιτήσω κάποιες δοκιμές για να αλλάξω τις τιμές της αφής.
#include "Adafruit_FreeTouch.h"
int touch = 1000; #define CAPTOUCH_PIN A0
long oldState = 0;
void checkpress () {// Λήψη τρέχουσας κατάστασης κουμπιού. long newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Κουμπί σύντομης καθυστέρησης στην κατάργηση. καθυστέρηση (20)? // Ελέγξτε αν το κουμπί είναι ακόμα χαμηλό μετά την κατάργηση. long newState = qt_1.measure (); } if (newState <touch) {// Μην κάνετε τίποτα} άλλο {// κάντε αυτό}
3) Εκτυπώστε διαφορετικά μηνύματα κάθε φορά που ενεργοποιείται το σύστημα
Το πρόγραμμα θα τυχαιοποιεί έναν αριθμό κάθε φορά που τρέχει το πρόγραμμα
void printChristmas () {
randomSeed (analogRead (0)*analogRead (1));
randomNumber = τυχαίο (1, 12);
printer.inverseOn ();
printer.println (F ("Xmas Inc. Presents")); printer.inverseOff ();
switch (randomNumber) {
περίπτωση 1: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Αυτό είναι το θέμα, έτσι δεν είναι; Αυτό ήταν πάντα *για *. Δώρα, δώρα … δώρα, δώρα, δώρα, δώρα, δώρα! Θέλετε να μάθετε τι συμβαίνει με τα δώρα σας; Όλοι έρχονται σε μένα. Στα σκουπίδια σας. Βλέπετε τι λέω; Στα *σκουπίδια *σας. Θα μπορούσα να κρεμαστώ με όλες τις κακές χριστουγεννιάτικες γραβάτες που βρήκα στο χωματερή. Και τη φιλαργυρία.. ")); Διακοπή; περίπτωση 2: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Oh, the Who-manity.")); περίπτωση 3: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Ω, όχι, το έλκηθρο, τα δώρα, θα καταστραφούν και με νοιάζει!")); Διακοπή; περίπτωση 4: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Εκρήξη αυτής της χριστουγεννιάτικης μουσικής. Είναι χαρούμενη και θριαμβευτική.")); Διακοπή; περίπτωση 5: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Απλώς τρώω επειδή βαριέμαι;")); Διακοπή; περίπτωση 6: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Υπάρχει, ωστόσο, μια παραμυθένια χριστουγεννιάτικη παράδοση που βρίσκω πολύ σημαντική … [κρατάει το γκι] Γκι. [βάζει γκι πάνω από τον πισινό του] Τώρα τσουγκρίστε το και φιλήστε το, Whoville! [wiggles γκι] Boi-yoi-yoi-yoing! ")); Διακοπή; περίπτωση 7: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Τώρα με ακούς, νεαρή κυρία! Ακόμα κι αν είμαστε *φρικτά ξετρελαμένοι *, δεν θα υπάρχουν λυπημένα πρόσωπα τα Χριστούγεννα."); Διακοπή; περίπτωση 8: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Holiday who-be what-ee?"); Διακοπή; περίπτωση 9: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Έχετε γιορτινά, χαρούμενα Χριστούγεννα;"); Διακοπή; περίπτωση 10: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Και θα γλεντήσουν, γλέντι, γλέντι, γλέντι. Θα φάνε το Who-Pudding και το σπάνιο Who-Roast Beast. Αλλά αυτό είναι κάτι που δεν μπορώ να αντέξω στο ελάχιστο. Ω, όχι. I 'ΜΙΛΑ ΜΕ ΡΥΜΑ! ")); Διακοπή; περίπτωση 11: // δηλώσεις printer.println (F ("")); // Ορισμός αιτιολόγησης κειμένου (δεξιά, κέντρο, αριστερά) - δέχεται εκτυπωτή "L", "C", "R". Justify ("L"). printer.println (F ("Η φιλαργυρία δεν τελειώνει ποτέ! Θέλω μπαστούνια γκολφ. Θέλω διαμάντια. Θέλω ένα πόνι για να μπορώ να το καβαλήσω δύο φορές, να βαρεθώ και να το πουλήσω για να κάνει κόλλα. Κοίτα, δεν θέλω να κάνω κύματα, αλλά αυτή η * ολόκληρη * περίοδος των Χριστουγέννων είναι … ")); Διακοπή; }
// Δοκιμάστε περισσότερα στυλ
printer.boldOn (); printer.justify ('R'); printer.println (F ("Grinch")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Δοκιμή χαρακτήρα διπλού ύψους σε & off printer.doubleHeightOn (); printer.println (F ("Merry Grinchmas!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));
// Εκτυπώστε το λογότυπο 75x75 pixel στο adalogo.h:
printer.printBitmap (grinch_width, grinch_height, grinch_data);
printer.println (F (""));
printer.println (F (""));
εκτυπωτής.sleep (); // Πείτε στον εκτυπωτή να κοιμηθεί
καθυστέρηση (3000L) // Αναμονή για 3 δευτερόλεπτα printer.wake (); // ΠΡΕΠΕΙ να ξυπνήσει () πριν την εκτύπωση ξανά, ακόμη και αν γίνει επαναφορά του printer.setDefault (); // Επαναφορά εκτυπωτή στις προεπιλεγμένες ρυθμίσεις}
Βήμα 4: Μαλακό κύκλωμα
Καθώς το μαλακό κύκλωμα πρέπει να τοποθετηθεί με ασφάλεια στο πουλόβερ, έδωσα ιδιαίτερη προσοχή στον σχεδιασμό του κυκλώματος (Εικόνα 1) και στην τοποθέτηση του εξαρτήματος.
Αφού δοκίμασα ολόκληρο το κύκλωμα χρησιμοποιώντας συνδετήρες αλιγάτορα και πλάκα ψωμιού (Εικόνες 2 & 3), πήγα να τοποθετήσω προσωρινά εξαρτήματα στο τσόχα, πριν ράψω και κολλήσω (Εικόνα 4 & 5).
Σημαντική σημείωση: Η καλωδίωση συμπεριλαμβανομένων των αντιστάσεων είναι απαραίτητη, καθώς αυτό το κύκλωμα χρειάζεται διαχωριστή τάσης για να αποτρέψει το ρεύμα να καταστρέψει την πλακέτα. (Εικόνα 6)
Τελευταίο βήμα εδώ, δοκιμάζοντας τα πάντα (Εικόνα 7)
Βήμα 5: Συνδυάζοντας τα πάντα μαζί
1) Δημιουργία της τσόχας της γραμματοσειράς (Εικόνα 1 & 2)
2) Ράψτε γράμματα (εικόνα 3)
3) Δημιουργήστε μια θήκη για το ρολό χαρτιού και μια δομή για τον εκτυπωτή και τη θήκη μπαταρίας Li-po (Εικόνα 4 & 5). Όλα είναι ραμμένα στο πουλόβερ.
4) Δημιουργήστε το πρόσωπο Grinch που λειτουργεί ως κάλυμμα εκτυπωτή. Το κύκλωμα συνεχίζεται κάτω από το καπέλο με ένα στρώμα υφασμάτινης αγώγιμης ταινίας που συνδέεται με το πομπόν. Το pompon είναι κατασκευασμένο από πράσινο μαλλί και αγώγιμη ίνα. (Εικόνα 6).
5) Καθώς το τροφοδοτικό απαιτεί καλώδιο για να τροφοδοτηθεί, δημιούργησα ένα κάλυμμα από νήματα χρησιμοποιώντας γαλλικό πλεκτό. (Εικόνα 7 Προαιρετικό).
6) Το τελευταίο βήμα, βεβαιωθείτε ότι όλα είναι στη θέση τους και δοκιμάστε το!
Συνιστάται:
Πώς: Εγκατάσταση Raspberry PI 4 Headless (VNC) Με Rpi-imager και εικόνες: 7 βήματα (με εικόνες)
Howto: Εγκατάσταση Raspberry PI 4 Headless (VNC) Με Rpi-imager και Εικόνες: Σκοπεύω να χρησιμοποιήσω αυτό το Rapsberry PI σε ένα σωρό διασκεδαστικά έργα στο ιστολόγιό μου. Μη διστάσετε να το ελέγξετε. Iθελα να επιστρέψω στη χρήση του Raspberry PI, αλλά δεν είχα πληκτρολόγιο ή ποντίκι στη νέα μου τοποθεσία. Είχε περάσει λίγος καιρός από τότε που έστησα ένα Raspberry
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: 13 βήματα (με εικόνες)
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: Αυτή είναι μια οδηγία σχετικά με τον τρόπο αποσυναρμολόγησης ενός υπολογιστή. Τα περισσότερα από τα βασικά στοιχεία είναι αρθρωτά και αφαιρούνται εύκολα. Ωστόσο, είναι σημαντικό να είστε οργανωμένοι σε αυτό. Αυτό θα σας βοηθήσει να αποφύγετε την απώλεια εξαρτημάτων και επίσης να κάνετε την επανασυναρμολόγηση να
Αποδώστε τρισδιάστατες εικόνες των PCB σας χρησιμοποιώντας Eagle3D και POV-Ray: 5 βήματα (με εικόνες)
Αποδώστε τρισδιάστατες εικόνες των PCB σας χρησιμοποιώντας Eagle3D και POV-Ray: Χρησιμοποιώντας Eagle3D και POV-Ray, μπορείτε να δημιουργήσετε ρεαλιστικές τρισδιάστατες αποδόσεις των PCB σας. Το Eagle3D είναι ένα σενάριο για EAGLE Layout Editor. Αυτό θα δημιουργήσει ένα αρχείο ανίχνευσης ακτίνων, το οποίο θα σταλεί στο POV-Ray, το οποίο με τη σειρά του θα βγει τελικά από το τελικό im
Κάμερα για εικόνες λήξης χρόνου που έγιναν εύκολα .: 22 βήματα (με εικόνες)
Camera for Time Lapse Pictures Made Easy: Έλεγχα ένα από τα άλλα Instructables σχετικά με την παραγωγή ταινιών time lapse. Καλύπτει αρκετά καλά το κομμάτι της ταινίας. Μίλησε για το δωρεάν λογισμικό που μπορείτε να κατεβάσετε για να κάνετε ταινίες. Είπα στον εαυτό μου, νομίζω ότι θα δω αν μπορώ
Πώς να εικονογραφήσετε εικόνες - Εύκολα: 3 βήματα (με εικόνες)
Πώς να Pixellate Εικόνες - Εύκολα: Αυτή η γρήγορη είναι μια τεχνική για τη χρήση λογοκρισίας pixel για τη διατήρηση της ανωνυμίας, της αξιοπρέπειας κ.λπ. σε ψηφιακές εικόνες. Χρειάζεστε μόνο έναν απλό επεξεργαστή εικόνας όπως το MS Paint, χρησιμοποιώ το MS Paint. Για εναλλακτική λύση, δείτε αυτό Διδάξιμο