Go Down

Topic: Thermal Printer + Arduino + need of RTS/CTS and DTR/DSR pins? (Read 1 time) previous topic - next topic

dattasaurabh82

I recently salvaged a thermal printer saying "EM205_101122" on it's circuit board. I also got success in accessing to all it's datasheets.
It seems that it has a RS232 as well as TTL ports, but both of the ports are given two  extra pins saying "RTS/DTS and DTR/DSR".
While I read about them, they are the flow control pins and are to be kept +12V or -12V.
For communication with the Arduino (as given  in this tutorial: http://bildr.org/2011/08/thermal-printer-arduino/) does these pins are required to be used or we can just use the RX TX pins only?

Help me as I'm stuck in middle of it and I just want to be sure as I don't want to burn anything trying to make it.

Ps find the datasheets as attached below

Nick Gammon

You won't burn anything out by setting them to either + or - 12V.

They are flags, if you have them around the wrong way it won't print.
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

dattasaurabh82

If I don't use them at all will it affect the printing function? And If I just use the serial communication as shown in the bildr tutorial for printing will it work with this printer? I kindly request you to re-frame a conclusive wiring for the Arduino and my Thermal printer from studying briefly the data-sheet (the data sheets attached).

I Think powering it , then connecting the Rx-TX and TX-Rx and GND will do enough as given in bildr tutorial.

Thank you

HugoPT

#3
Jul 30, 2013, 06:05 pm Last Edit: Jul 30, 2013, 06:23 pm by HugoPT Reason: 1
Quote
If I don't use them at all will it affect the printing function? And If I just use the serial communication as shown in the bildr tutorial for printing will it work with this printer?

Yes it will work.
Some days ago a wired my EPSON to the arduino and it works very well
For you do the test here is my code:
Code: [Select]

void setup ()
{
Serial.begin(19200); //Epson default printer settings for baud rate
}

void loop() //looping sequence
{
printFromAtoZ();
delay(1000);                         //delay for 1 second
}
void printFromAtoZ()
{
unsigned char caracter = 'A';  
Serial.write(0x1B);             //ESC POS command
Serial.print('@');                   //ESC POS initialize followed after command
for(uint8_t i = 0; i<=25;i++){
 Serial.write(caracter++);
}
Serial.write(0xA);                    //Print and Line Feed from Buffer
}



All you need to wire is TX RX though a MAX232 and Ground
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Go Up