विषयसूची:

मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0: 5 कदम (चित्रों के साथ)
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0: 5 कदम (चित्रों के साथ)

वीडियो: मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0: 5 कदम (चित्रों के साथ)

वीडियो: मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0: 5 कदम (चित्रों के साथ)
वीडियो: 3D Hangouts – Grinch Fireplace and Ball Drop 2024, जुलाई
Anonim
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0
मेरी ग्रिंचमास स्वेटर, थर्मल प्रिंटर + GemmaM0

मेरी ग्रिंचमास स्वेटर एक इंटरैक्टिव परिधान है जो शिकायत के रूप में व्यक्तिगत मुद्रित संदेशों की एक विस्तृत श्रृंखला प्रदान करता है जब भी कोई ग्रिंच की टोपी पोम्पोन को छूता है। जेम्मा एमओ, अरुडिनो और कैपेसिटिव सेंसिंग द्वारा नियंत्रित थर्मल प्रिंटर के माध्यम से आने वाले एंटी-क्रिसमस संदेश।

चरण 1: सामग्री सूची

- जेम्मा एमओ

- थर्मल प्रिंटर हिम्मत -

- प्रवाहकीय कपड़ा टेप

- ढीला स्वेटर

- अनुभूत

- रोविंग + फेल्टिंग किट

- प्रवाहकीय फाइबर -

- तांबे का धागा

- प्रतिरोधक (3.3k + 2.2k)

- बिजली की आपूर्ति - 7.5V, 3A

- ली-पो बैटरी

- सोल्डर

- कपड़ा गोंद

- Arduino Uno, एलीगेटर क्लिप्स और ब्रेडबोर्ड (परीक्षण के लिए)

चरण 2: परीक्षण + सेटअप प्रिंटर

टेस्ट + सेटअप प्रिंटर
टेस्ट + सेटअप प्रिंटर
टेस्ट + सेटअप प्रिंटर
टेस्ट + सेटअप प्रिंटर
टेस्ट + सेटअप प्रिंटर
टेस्ट + सेटअप प्रिंटर

सबसे पहले, यह देखने के लिए प्रिंटर का परीक्षण करें कि क्या इसमें पर्याप्त शक्ति है, अन्यथा, परीक्षण पृष्ठ को प्रिंट करने के लिए प्रिंटर पर रीसेट बटन दबाने पर यह एक ही लाइन को बार-बार प्रिंट करता रहेगा (चित्र 1)।

जब परीक्षण प्रिंट निकलता है, तो बॉडरेट की जांच करने का समय आ गया है क्योंकि प्रिंटर गट्स 9600 पर काम करता है और डिफ़ॉल्ट रूप से एडफ्रूट्स लाइब्रेरी, अन्य थर्मल प्रिंटर की तरह 19200 का उपयोग करता है जिसे वे बेचते हैं। इसे यहां देखें:

चित्र ३ विशेष रूप से दिखाता है कि प्रिंटर को कैसे वायर किया जाए।

परीक्षण किसी भी अनुकूलित डिज़ाइन को बनाने के लिए विभिन्न फ़ॉन्ट शैलियों को जांचने में मदद करता है। (चित्र 4)।

एक यादृच्छिक संख्या है जो एक शीर्षक, मुख्य पाठ और हस्ताक्षर के लिए विभिन्न पाठ्य शैलियों सहित 12 अलग-अलग वाक्यों के बीच चयन करती है।

अंत में, किसी भी चित्र को जोड़ने के लिए, उसे बिटमैप चित्र में परिवर्तित करने की आवश्यकता होती है। (चित्र ६)। यहाँ चुनाव ग्रिंच था। (चित्र 7)

एक आखिरी नोट। जेम्मा M0 के साथ प्रिंटर का उपयोग करने के लिए, हार्डवेयर सीरियल का उपयोग करने के लिए कुछ समायोजन की आवश्यकता होती है (चित्र 8)।

चरण 3: कार्यक्रम डिजाइन करना

कार्यक्रम की डिजाइनिंग
कार्यक्रम की डिजाइनिंग

मुझे अपने कार्यक्रम के बारे में क्या उम्मीद है?

1) मेरे पास एक आरजीबी एलईडी है जो प्रिंटर के बारे में दृश्य प्रतिक्रिया देता है। तैयार के लिए हरा, छपाई के लिए लाल।

जैसा कि जेम एम0 में एक एम्बेडेड नियोपिक्सल है, इसे कोड करने के लिए, एलईडी को संबोधित करने की आवश्यकता है जैसे कि यह एक एलईडी पट्टी थी।

#define NUMPIXELS 1 // स्ट्रिप में LED की संख्या

व्यर्थ व्यवस्था() {

पट्टी। शुरू (); // आउटपुट स्ट्रिप के लिए पिन को इनिशियलाइज़ करें। शो (); // सभी एल ई डी को ASAP बंद करें

}

शून्य लूप () {

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

कपड़े उतारने का प्रदर्शन();

}

2) एक कैपेसिटिव सेंसर जो सिस्टम को ट्रिगर करता है।

कैपेसिटिव सेंसिंग के लिए एक पुस्तकालय और कुछ चरों को परिभाषित करने की आवश्यकता होती है। यह एक एनालॉग इनपुट का उपयोग करता है जिसे कैलिब्रेट करने की आवश्यकता होती है। स्पर्श के मूल्यों को बदलने के लिए मुझे कुछ परीक्षण की आवश्यकता हो सकती है।

#शामिल "Adafruit_FreeTouch.h"

इंट टच = 1000;#CAPTOUCH_PIN A0 परिभाषित करें

लंबा पुराना राज्य = 0;

शून्य चेकप्रेस () {// वर्तमान बटन स्थिति प्राप्त करें। लंबा न्यूस्टेट = qt_1.माप (); Serial.println(qt_1.measure()); if (newState > touch && oldState <स्पर्श करें) {// debounce करने के लिए छोटा विलंब बटन। देरी(20); // जांचें कि क्या डिबेट के बाद भी बटन कम है। लंबा न्यूस्टेट = qt_1.माप (); } अगर (न्यूस्टेट <स्पर्श) {// कुछ न करें} और {// ऐसा करें}

3) सिस्टम के चालू होने पर हर बार अलग-अलग संदेश प्रिंट करें।

प्रोग्राम हर बार प्रोग्राम चलने पर एक नंबर को रैंडमाइज करेगा

शून्य प्रिंटक्रिसमस () {

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

यादृच्छिक संख्या = यादृच्छिक (1, 12);

प्रिंटर.इनवर्सऑन ();

Printer.println (F ("क्रिसमस इंक। प्रस्तुत करता है")); Printer.inverseOff ();

स्विच (यादृच्छिक संख्या) {

केस 1: // स्टेटमेंट प्रिंटर.प्रिंट्लन (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println(F("यही सब कुछ है, है ना? यह हमेशा से * के बारे में रहा है। उपहार, उपहार … उपहार, उपहार, उपहार, उपहार, उपहार! आप जानना चाहते हैं कि आपके उपहारों का क्या होता है? वे सब मेरे पास आते हैं। आपके कूड़ेदान में। आप देख रहे हैं कि मैं क्या कह रहा हूं? आपके *कचरे में। मैं डंप पर मिली सभी खराब क्रिसमस नेकटाई के साथ खुद को लटका सकता हूं। और लोभ..")); टूटना; केस 2: // स्टेटमेंट प्रिंटर.प्रिंट्लन (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println (F ("ओह, द हू-मैनिटी।")); केस 3: // स्टेटमेंट प्रिंटर.प्रिंट्लन (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println (एफ ("ओह, नहीं, बेपहियों की गाड़ी, उपहार, वे नष्ट हो जाएंगे, और मुझे परवाह है!")); टूटना; केस 4: // स्टेटमेंट प्रिंटर.प्रिंट्लन (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println (F ("इस क्रिसमस संगीत को ब्लास्ट करें। यह आनंदमय और विजयी है।")); टूटना; केस 5: // स्टेटमेंट प्रिंटर.प्रिंट्लन (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println (F ("क्या मैं सिर्फ इसलिए खा रहा हूँ क्योंकि मैं ऊब गया हूँ?")); टूटना; केस 6: // स्टेटमेंट प्रिंटर.प्रिंटल (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println (F ("हालांकि, एक नन्ही-नन्ही क्रिसमस परंपरा है जो मुझे काफी सार्थक लगती है … [मिस्टलेटो को पकड़ती है] मिस्टलेटो। [मिस्टलेटो को अपने बट पर रखता है] अब इसे ऊपर उठाएं और चूमें, व्होविल! [विगल्स मिस्टलेटो] बोई-योई-योई-योइंग!")); टूटना; केस 7: // स्टेटमेंट प्रिंटर.प्रिंटल (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println(F("अब तुम मेरी बात सुनो, जवान औरत! भले ही हम *बेहद खराब* हों, क्रिसमस पर कोई उदास चेहरे नहीं होंगे।")); टूटना; केस 8: // स्टेटमेंट प्रिंटर.प्रिंट्लन (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println (F ("हॉलिडे हू-बी व्हाट-ई?")); टूटना; केस 9: // स्टेटमेंट प्रिंटर.प्रिंटल (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println (F ("क्या आप एक होली, जॉली क्रिसमस मना रहे हैं?")); टूटना; केस 10: // स्टेटमेंट प्रिंटर.प्रिंटल (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println(F("और वे दावत, दावत, दावत, दावत देंगे। वे अपने हू-पुडिंग और दुर्लभ हू-रोस्ट बीस्ट खाएंगे। लेकिन यह कुछ ऐसा है जिसे मैं कम से कम खड़ा नहीं कर सकता। ओह, नहीं। मैं 'एम स्पीकिंग इन राइम!")); टूटना; केस 11: // स्टेटमेंट प्रिंटर.प्रिंट्लन (एफ ("")); // टेक्स्ट औचित्य सेट करें (दाएं, केंद्र, बाएं) - 'एल', 'सी', 'आर' प्रिंटर स्वीकार करता है। औचित्य ('एल'); Printer.println(F("लालची कभी खत्म नहीं होती! मुझे गोल्फ क्लब चाहिए। मुझे हीरे चाहिए। मुझे एक टट्टू चाहिए ताकि मैं इसे दो बार सवारी कर सकूं, ऊब जाऊं और इसे गोंद बनाने के लिए बेच सकूं। देखो, मैं लहरें नहीं बनाना चाहता, लेकिन यह *संपूर्ण* क्रिसमस का मौसम है…")); टूटना; }

// अधिक शैलियों का परीक्षण करें

प्रिंटर.बोल्डऑन (); प्रिंटर। औचित्य ('आर'); Printer.println (F ("ग्रिंच")); प्रिंटर। बोल्डऑफ (); प्रिंटर.प्रिंट्लन (एफ ("")); प्रिंटर। औचित्य ('एल'); // टेस्ट कैरेक्टर डबल-हाइट ऑन और ऑफ प्रिंटर। डबलहाइटऑन (); Printer.println (F ("मेरी ग्रिंचमास!")); प्रिंटर.डबलहाइटऑफ (); प्रिंटर.प्रिंट्लन (एफ ("")); प्रिंटर.प्रिंट्लन (एफ (""));

// adalogo.h में 75x75 पिक्सेल लोगो प्रिंट करें:

Printer.printBitmap (grinch_width, grinch_height, grinch_data);

प्रिंटर.प्रिंट्लन (एफ (""));

प्रिंटर.प्रिंट्लन (एफ (""));

प्रिंटर.स्लीप (); // प्रिंटर को सोने के लिए कहें

देरी (3000 एल); // 3 सेकंड के लिए सो जाओ प्रिंटर। जागो (); // फिर से प्रिंट करने से पहले जगाना () होना चाहिए, भले ही प्रिंटर रीसेट करें। सेटडिफॉल्ट (); // प्रिंटर को डिफ़ॉल्ट पर पुनर्स्थापित करें }

चरण 4: सॉफ्ट सर्किट

सॉफ्ट सर्किट
सॉफ्ट सर्किट
सॉफ्ट सर्किट
सॉफ्ट सर्किट
सॉफ्ट सर्किट
सॉफ्ट सर्किट
सॉफ्ट सर्किट
सॉफ्ट सर्किट

चूंकि सॉफ्ट सर्किट को स्वेटर में सुरक्षित रूप से रखने की आवश्यकता होती है, इसलिए मैंने सर्किट डिजाइन (चित्र १) और घटक के स्थान पर विशेष ध्यान दिया।

मगरमच्छ क्लिप और ब्रेडबोर्ड (चित्र २ और ३) का उपयोग करके पूरे सर्किट का परीक्षण करने के बाद, मैं सिलाई और टांका लगाने से पहले, अस्थायी घटकों को महसूस करने पर कूद गया (चित्र ४ और ५)।

महत्वपूर्ण नोट: प्रतिरोधों सहित वायरिंग आवश्यक है क्योंकि इस सर्किट को बोर्ड को नुकसान पहुंचाने वाले करंट को रोकने के लिए वोल्टेज डिवाइडर की आवश्यकता होती है। (चित्र ६)

अंतिम चरण यहाँ, सब कुछ का परीक्षण (चित्र ७)

चरण 5: सब कुछ एक साथ रखना

सब कुछ एक साथ रखना
सब कुछ एक साथ रखना
सब कुछ एक साथ रखना
सब कुछ एक साथ रखना
सब कुछ एक साथ रखना
सब कुछ एक साथ रखना

१) फेल्टेड फॉन्ट फेस बनाना (चित्र १ और २)

2) सीना पत्र (चित्र ३)

3) पेपर रोल के लिए एक पाउच और प्रिंटर और ली-पो बैटरी धारक के लिए एक संरचना बनाएं (चित्र 4 और 5)। सब कुछ स्वेटर से सिल दिया जाता है।

4) ग्रिंच फेस बनाएं जो प्रिंटर कवर के रूप में काम करता है। कपड़े के प्रवाहकीय टेप की एक परत के साथ टोपी के नीचे सर्किट जारी रहता है जो पोम्पोन से जुड़ता है। पोम्पोन हरी ऊन की रोविंग और प्रवाहकीय फाइबर से बना है। (चित्र ६)।

५) चूंकि बिजली की आपूर्ति के लिए एक कॉर्ड को संचालित करने की आवश्यकता होती है, इसलिए मैंने एक फ्रेंच निटर का उपयोग करके यार्न से बना एक कवर बनाया। (चित्र 7 वैकल्पिक)।

६) अंतिम चरण, सुनिश्चित करें कि सब कुछ जगह पर है और उस पर प्रयास करें!

सिफारिश की: