आपने सिर्फ एक रेस्तरां को भुगतान किया और एक छोटे से बिल या एटीएम से नकदी निकालकर लेनदेन की रसीद प्राप्त की। इन रसीदों को एक थर्मल प्रिंटर या रसीद प्रिंटर का उपयोग करके मुद्रित किया जाता है ।
थर्मल प्रिंटर छोटे बिलों या रसीदों को प्रिंट करने के लिए आसानी से उपलब्ध और लागत प्रभावी समाधान है। समाधान को एकीकृत करने के लिए यह आसान हर जगह उपलब्ध है। प्रिंटर थर्मोक्रोमिक पेपर का उपयोग करता है, एक विशेष प्रकार का कागज जो काला रंग में परिवर्तित हो जाता है जब यह एक निश्चित मात्रा में गर्मी के संपर्क में आता है। थर्मल प्रिंटर इस पेपर पर प्रिंट करने के लिए एक विशेष हीटिंग प्रक्रिया का उपयोग करता है। एक निश्चित तापमान को बनाए रखने के लिए प्रिंटर सिर को एक विशेष विद्युत में गर्म किया जाता है। जब थर्मल पेपर उसके सिर से गुजरता है, तो इसका थर्मल कोटिंग काले रंग में बदल जाता है जहां सिर गर्म होता है।
पिछली परियोजना में, हमने PIC माइक्रोकंट्रोलर के साथ थर्मल प्रिंटर को बाधित किया है। इस ट्यूटोरियल में, हम Arduino Uno बोर्ड के साथ एक थर्मल प्रिंटर इंटरफ़ेस करेंगे । यह परियोजना इस तरह काम करेगी: -
- प्रिंटर को Arduino Uno के साथ जोड़ा जाएगा।
- दबाए जाने पर print पुश टू प्रिंट’ विकल्प प्रदान करने के लिए अरडिनो बोर्ड के साथ एक स्पर्श स्विच जोड़ा जा रहा है।
- जहाज पर Arduino LED प्रिंटिंग स्टेटस को सूचित करेगा। यह तभी चमकेगा जब मुद्रण गतिविधि चल रही होगी।
प्रिंटर विशिष्टता और कनेक्शन
हम कैशिनो से सीएसएन ए 1 थर्मल प्रिंटर का उपयोग कर रहे हैं, जो आसानी से उपलब्ध है और कीमत बहुत अधिक नहीं है।
यदि हम इसकी आधिकारिक वेबसाइट पर विनिर्देश देखते हैं, तो हम एक तालिका देखेंगे जो विस्तृत विवरण प्रदान करती है-
प्रिंटर के पीछे की ओर, हम निम्नलिखित कनेक्शन देखेंगे-
TTL कनेक्टर माइक्रोकंट्रोलर यूनिट के साथ संचार करने के लिए Rx Tx कनेक्शन प्रदान करता है । हम प्रिंटर के साथ संचार करने के लिए RS232 प्रोटोकॉल का भी उपयोग कर सकते हैं। पावर कनेक्टर प्रिंटर को पावर देने के लिए है और बटन का उपयोग प्रिंटर परीक्षण के उद्देश्य के लिए किया जाता है। जब प्रिंटर संचालित किया जा रहा है, यदि हम स्व-परीक्षण बटन को धक्का देते हैं, तो एक शीट प्रिंट करेगा जहां विनिर्देशों और नमूना लाइनें मुद्रित की जाएंगी। ये है सेल्फ टेस्ट शीट-
जैसा कि हम देख सकते हैं कि प्रिंटर का उपयोग माइक्रोकंट्रोलर यूनिट के साथ संवाद करने के लिए 9600 बॉड दर है। प्रिंटर ASCII वर्णों को प्रिंट कर सकता है। संचार बहुत आसान है, हम केवल UART का उपयोग करके, स्ट्रिंग या वर्ण प्रेषित करके कुछ भी प्रिंट कर सकते हैं।
प्रिंटर 5-9V से काम करता है, हम 9V 2A बिजली की आपूर्ति का उपयोग करेंगे जो प्रिंटर और Arduino Uno दोनों को शक्ति प्रदान कर सकता है। प्रिंटर सिर को गर्म करने के लिए प्रिंटर को वर्तमान में 1.5A से अधिक की आवश्यकता होती है। यह थर्मल प्रिंटर की खामी है क्योंकि यह प्रिंटिंग प्रक्रिया के दौरान भारी लोड लेती है।
आवश्यक शर्तें
निम्नलिखित प्रोजेक्ट बनाने के लिए, हमें निम्नलिखित चीजों की आवश्यकता है: -
- ब्रेड बोर्ड
- तारों को हुक करें
- USB केबल के साथ Arduino UNO बोर्ड।
- Arduino IDE के साथ तैयार Arduino इंटरफ़ेस सेटअप वाला कंप्यूटर।
- 10k रोकनेवाला
- स्पर्शक स्विच
- पेपर रोल के साथ थर्मल प्रिंटर CSN A1
- 9V 2A रेटेड बिजली आपूर्ति इकाई।
सर्किट आरेख और स्पष्टीकरण
Arduino Uno के साथ प्रिंटर को नियंत्रित करने के लिए योजनाबद्ध नीचे दिया गया है:
सर्किट सरल है। हम स्विच इनपुट पिन D2 पर डिफ़ॉल्ट स्थिति प्रदान करने के लिए एक अवरोधक का उपयोग कर रहे हैं। जब बटन दबाया जाता है, तो D2 हाई हो जाएगा और इस स्थिति का उपयोग प्रिंटिंग को ट्रिगर करने के लिए किया जाता है। थर्मल प्रिंटर और Arduino बोर्ड को पावर देने के लिए 9V 2A पावर सप्लाई की सिंगल पॉवर सप्लाई का इस्तेमाल किया जाता है। Arduino UNO बोर्ड से कनेक्ट करने से पहले बिजली की आपूर्ति ध्रुवता की जांच करना महत्वपूर्ण है। इसमें सेंटर पॉजिटिव पोलरिटी के साथ बैरल जैक इनपुट है।
हमने एक ब्रेडबोर्ड में सर्किट का निर्माण किया और इसका परीक्षण किया ।
Arduino कार्यक्रम
डेमो वीडियो के साथ पूरा Arduino कोड परियोजना के अंत में है। यहां हम कोड के कुछ महत्वपूर्ण भाग के बारे में बता रहे हैं।
सबसे पहले, हमने पुशबटन (पिन 2) और बोर्ड एलईडी (पिन 13) के लिए पिन घोषित किए
int एलईडी = 13; int SW = 2;
फिर कुछ चरों को डिब्यू की देरी और स्विच प्रेस स्थिति के लिए कॉन्फ़िगर किया गया है
int is_switch_press = 0; // स्विच प्रेस की स्थिति का पता लगाने के लिए int debounce_delay = 300; // विलंब में देरी
में सेटअप समारोह, हम आउटपुट के रूप में एलईडी पिन विन्यस्त और इनपुट के रूप में स्विच । हमने UART को 9600 बॉड दर से भी कॉन्फ़िगर किया है।
शून्य सेटअप () { / * * इस फ़ंक्शन का उपयोग पिन कॉन्फ़िगरेशन सेट करने के लिए किया जाता है * / pinMode (एलईडी, OUTPUT); पिनमोड (SW, INPUT); सीरियल.बेगिन (9600); }
में मुख्य पाश, हम पहले जाँच करें कि क्या स्विच या दबाया नहीं है, तो फिर हम कुछ समय के लिए प्रतीक्षा करें और फिर पहचान करने के लिए है कि सही मायने में स्विच या नहीं दबाया जाता है, अगर स्विच अभी भी देरी के बाद भी दबाया जाता है की जाँच करें, हम कस्टम मुद्रित UART में लाइनें, इसलिए थर्मल प्रिंटर में।
छपाई की शुरुआत में हमने ऑनबोर्ड एलईडी को उच्च सेट किया और मुद्रण के बाद, हमने इसे कम करके इसे बंद कर दिया।
शून्य लूप () { is_switch_press = digitalRead (SW); // स्विच प्रेस स्थिति पढ़ना अगर (is_switch_press == उच्च) { विलंब ( deb__elay); // प्रेस देरी के लिए बटन प्रेस अगर (is_switch_press == उच्च) { digitalWrite (एलईडी, उच्च); सिरियल.प्रिंट ("हैलो"); देरी (100); Serial.println ("यह एक थर्मल प्रिंटर इंटरफ़ेस है"); Serial.println ("Arduino UNO के साथ।"); देरी (100); Serial.println ("Circuitdigest.com"); सिरियल.प्रिंट्लन ("\ n \ r"); सिरियल.प्रिंट्लन ("\ n \ r"); सीरीयल.प्रिंट ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println ("थैंक यू।"); सिरियल.प्रिंट्लन ("\ n \ r"); सिरियल.प्रिंट्लन ("\ n \ r"); सिरियल.प्रिंट्लन ("\ n \ r"); digitalWrite (एलईडी, कम); } } और { digitalWrite (led, LOW); } }
चेक पूरा Arduino कोड और प्रदर्शन वीडियो नीचे।