2009-03-02 15 views
12

से प्रिंट करने के लिए एपसन रसीद प्रिंटर प्राप्त करना मैं एक Arduino और एक Epson TM-T88II रसीद/POS प्रिंटर का उपयोग कर एक माइक्रोप्रिंटर बनाने की कोशिश कर रहा हूं। प्रिंटर Epson Esc/POS सिस्टम का उपयोग करता है, लेकिन मैं इसे Arduino से कुछ भी नहीं कर सकता। मैं चीजें कर रहा हूं जैसे:Arduino

#include <SoftwareSerial.h> 

#define out_pin 3 
#define in_pin 2 
SoftwareSerial printer = SoftwareSerial(in_pin, out_pin); 

void setup() 
{ 
    pinMode(in_pin, INPUT); 
    pinMode(out_pin, OUTPUT); 
    printer.begin(9600); 

    delay(1000); 

    printer.print(0x1B, BYTE); 
    printer.print('@'); // ESC(HEX 1B) @ is supposed to initialize the printer 
    printer.print("hello world"); 
    printer.print(0xA, BYTE); // print buffer and line feed 
} 

मैं प्रिंटर को बिल्कुल प्रतिक्रिया नहीं दे सकता। प्रिंटर शक्तियों को शक्ति देता है और अपने स्वयं के परीक्षण को ठीक प्रिंट करता है। यह एक धारावाहिक (RS-232) प्रिंटर है, और मैं इसे MAX233 चिप के माध्यम से Arduino से जोड़ रहा हूं। मैंने चिप के माध्यम से अपने कनेक्शन की जांच की है और फिर से जांच की है, जो मुझे लगता है कि एक ऐसे दोस्त पर आधारित है जिसकी एक समान सेटअप काम कर रही है। मैंने कहीं पढ़ा है कि टीएम-टी 88 प्रिंटर को नल-मॉडेम सीरियल केबल्स की आवश्यकता है, इसलिए मैंने एडाप्टर खरीदा, और ऐसा कोई फर्क नहीं पड़ता।

मैं इलेक्ट्रॉनिक्स के लिए नया हूं, इसलिए मैं पूरी तरह से स्टंप हूं। मैं बस इसे प्रिंट करने के लिए प्राप्त करना चाहता हूं, इसलिए मैं मजेदार भाग - प्रोग्रामिंग :) प्राप्त कर सकता हूं। परीक्षण/कोशिश करने के लिए चीजों पर कोई विचार? मैं तारों या किसी और चीज पर अधिक जानकारी दे सकता हूं, बस यह नहीं चाहता था कि यह लंबे समय तक पहुंच जाए।

उत्तर

1

आप जांच सकते हैं कि आप Arduino और प्रिंटर से दोनों पीसी के साथ संवाद कर सकते हैं या नहीं।

मैं यह देखने के लिए एक ऑसिलोस्कोप का उपयोग करूंगा कि क्या सीरियल संकेत Arduino और MAX के रूप में बाहर आते हैं, लेकिन तब आपके पास शायद एक नहीं है।

क्या आप सुनिश्चित हैं कि संचार सेटिंग्स सही हैं? आपने बॉड रेट को 9600 पर सेट किया है, लेकिन डेटा बिट्स, समानता, बिट्स को रोकने के बारे में क्या? नियंत्रण लाइनों के बारे में क्या?

+0

संचार सेटिंग्स के लिए, मुझे बिल्कुल यकीन नहीं है। मुझे लगता है कि मुझे किसी तरह का हैंडशेक करना पड़ सकता है, लेकिन मुझे नहीं पता कि कैसे।प्रिंटर सेल्फ टेस्ट से जानकारी: बाउड दर: 9 600 (यही वह है जो मैं उपयोग कर रहा हूं) डेटा बिट्स: 8 बिट्स समानता: कोई भी स्टॉप बिट: 1 बिट या अधिक हैंडशेकिंग: डीटीआर/डीएसआर –

1

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

3

क्या आप आरएस -223 ट्रांसीवर का उपयोग कर रहे हैं? Arduino धारावाहिक के लिए 0 और 5   वी आउटपुट करता है, जबकि प्रिंटर धारा -12 और 12   वी धारावाहिक के लिए उपयोग करता है। सही भौतिक इंटरफ़ेस प्राप्त करने के लिए आपको MAX232 या इसी तरह के डिवाइस का उपयोग करना चाहिए। (यदि आप Arduino पर सीरियल पोर्ट को उलटा करते हैं, तो हो सकता है कि आप काम न करें, लेकिन यह काम नहीं कर सकता है, और बस शुरू होने पर यह और अधिक परेशानी है।)

एक बार जब इसका ख्याल रखा जाता है, तो आरटीएस और डीटीआर आपका हो सकता है मुसीबत। आप प्रिंटर पर डीआईपी-स्विच सेटिंग्स को बदलने और प्रवाह नियंत्रण को पूरी तरह से बंद करने में सक्षम होना चाहिए, या इसे सॉफ्टवेयर प्रवाह नियंत्रण में स्विच करना चाहिए।

इसके अलावा, आपको लाइन लाइन और कैरिज रिटर्न दोनों भेजने की आवश्यकता हो सकती है।

हालांकि, एक बार ऐसा करने के बाद इसे किसी भी रीसेट कमांड के बिना भी ठीक प्रिंट करना चाहिए। ASCII वर्णों और लाइन फीड/कैरिज रिटर्न का एक गुच्छा भेजें, और यह सब कुछ थूक जाएगा।

आप RX लाइन अनदेखा कर सकते हैं (Arduino तरफ, टेक्सास प्रिंटर की ओर) अब के लिए - बस इसे डेटा भेजने जब तक आप तारों, स्तर रूपांतरण यह पता लगाने, प्रवाह नियंत्रण, आदि

1

मैं मैंने एक समान परियोजना की है और एक ही मुद्दा था। अधिकतम 232 से प्रिंटर तक जाने के लिए आपको एक नल मॉडेम/क्रॉसओवर केबल की आवश्यकता है क्योंकि दोनों डिवाइस गुलाम कॉन्फ़िगरेशन

 संबंधित मुद्दे