Arduino Lcd Parallel To Serial Interface

Posted on  by 

  1. 1-16 of 182 results for 'arduino serial lcd' SunFounder IIC I2C TWI Serial 2004 20x4 LCD Module Shield for Arduino Uno Mega2560. By SunFounder. $12.99 $ 12 99 Prime. I2C/TWI/SPI Serial Interface. As the pin resources of Arduino controller. Previous Page 1 2 3. 12 Next Page. Show results for. Computers & Accessories.
  2. LCD interface using I2C Module with Arduino September 17, 2016 Arduino Tutorials arduino, display, I2C, LCD, PCF8574 Manoj R. Thakur I2C module with LCD display using Arduino.
  3. Since LCD is an output device, we usually write data to it, so RW pin can be tied to ground instead of connecting it to Arduino. Example: LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); Where lcd is the variable. Begin() This function initializes the interface to LCD display and it also sets the size (columns and rows) of the display.
  1. Parallel To Serial Converter
  2. Parallel To Serial Adapter
  3. Parallel Interface Vs Serial Interface

Find great deals on eBay for interface lcd arduino. Shop with confidence. Yellow Backlight, parallel or I2C serial interface Arduino #2082.

Active1 year ago
$begingroup$

I would like to examine the string of data being outputted from an industrial equipment's DB25 connector that is being sent to a printer. I was thinking I need to convert this 25 pin parallel connection to USB type A, which would then be plugged into my PC and then examined using a serial monitor.

My question is what kind of hardware could I use to convert this parallel data to USB?

Do I only need the data 0 - 7 pins and ground pin on the DB25 connector to analyze the data on my PC?

Is there any arduino library out there that could convert this data?

I appreciate any help. This is my first time dealing interfacing a DB25 connector to USB. I've done some research on the parallel communication and seem to have hit a wall.

Matthew BuffaMatthew Buffa
$endgroup$

4 Answers

$begingroup$

Just parallel plug it into the Arduino. Tap it like the old serial break out box days. Either make yourself a Y cable to repeat the pins to another 9 pin connector, or buy one of these:-

Then you just read the 8 data pins with a Arduino as a port read instruction (say PINC). You may have to play with the wire order to get sensible codes. Then send the byte over the Arduino's USB cable (using Serial.print(byteValue) ) to the PC running terminal emulation software like SCREEN or PuTTY. Try to run the printer at a low speed, say 10 kBaud. The Arduino software is surprisingly simple. I estimate 10 - 15 lines plus a quick interrupt service routine.

You'll find that in order to discriminate one byte from another passing along the cable, you'll also have to access the /STROBE line on pin 1. If you connect this pin to the Arduino as an interrupt, you should be able to read the 8 data bits on every strobe signal.

The old Centronics ports ran fairly slowly so the additional impedance of the Arduino's input ports and Y cable shouldn't load the industrial equipment's printer port. The interface was 5V so get a 5V Arduino to avoid level issues or catastrophic explosion of a 3V one.

Parallel To Serial Converter

Arduino Lcd Parallel To Serial Interface

Essentially you'd build a logic analyser, which you could also just use if there's one lying around. Mixed signal oscilloscopes are good for this too.

Paul UszakPaul Uszak
3,6252 gold badges20 silver badges43 bronze badges
$endgroup$$begingroup$

You don't just 'convert' a DB-25 to USB. A DB-25 is just a connector. USB is a set of connectors and a whole protocol. USB is much more complicated. You can't just connect the right pins on the DB-25 to a USB connector and plug it in.

Then there is the question of what protocol is being transferred over this DB25 connector. This might be a old 'parallel port' printer interface. In that case, it's 8 data lines with a few control lines. Look up the parallel port spec, then probe around on your 25 lines with a scope and see if it seems to match.

Once you know the protocol, it would probably be easier to sniff the data by programming a microcontroller to do the low level reading, then send the data on via a UART or something. The low level electrical protocol likely has some timing constraints, which will hard, if not impossible, to meet with a PC running user code on a modern operating system.

There are micros with 8 bit parallel interfaces built in. It shouldn't be hard to harness that to read whatever 8 bit parallel interface you have, assuming that is what you have. You may need a little glue logic to get the right polarity strobe and the like, but it shouldn't be too hard.

However, again, the first step is determining what each of the wires do, and what the low level protocol is. Only then can you find or make something to capture the data as it is going by.

Parallel To Serial Adapter

Olin LathropOlin Lathrop
287k32 gold badges359 silver badges809 bronze badges
$endgroup$$begingroup$

I've done it a year or two back. I used a Pic32MX. Basically there is a strobe signal that you use to get the 8 bit data from the port - I used this to trigger an interrupt. The data went into a buffer which was eventually written as a file to a USB stick. It worked fine - but be aware that you will need to do some tricky conversion to turn the data into an image.

It worked fine for me, but I used a piece of software called PrintCapture which it seems is no longer available. I am actually now investigating doing the conversion to bitmap on teh PIC, but it means parsing the printer language and writing to an image file, which may take a bit of work. As far as I know there are no FOSS libraries for this (if I am wrong I'd be very interested to know!)

It could also be a nice job for a Raspberry Pi or similar, which has enough IO pins and a lot more memory.

There are quite a few bits of old gear out there that have parallel printer ports so this might be quite an interesting project.

dmbdmb
$endgroup$$begingroup$

It looks like you have an equipment that prints something to a printer via parallel interface, but you can't find any modern printer with this interface anymore, all printers today are USB, right? You can easily find a simple converter from USB port to Parallel Port, but making a transition from Parallel Port to USB host would be a challenging undertakings.

First, you would need a sizable MPU board that is capable of USB host functionality. So something like Raspberry Pi3 at least, that runs a decent OS.

Then you need a software support for USB printer class running on your MPU.

Then you would need to make a 8-bit parallel interface on that MPU emulating Centronics printer port(IEEE1284), to connect it to your old industrial equipment DB25 port, so the equipment will believe that it is printing to some normal printer.

Then you will need to write a software bridge between the two interfaces, parsing Centronics commands and data into API calls to USB Printer Driver.

That's about it. Good luck.

ADDENDUM: It looks like these kind of bridges are commercially available, see this one at Amazon.Here is another almost DIY project, 'LPTzUSB'.

Ale..chenskiAle..chenski
31.6k1 gold badge21 silver badges72 bronze badges
SerialSerial$endgroup$

Not the answer you're looking for? Browse other questions tagged arduinousbserialparallelconversion or ask your own question.

Active5 years, 7 months ago
$begingroup$

I'm a newb with electronics and was wondering if there's an IC or PCB that could convert a parallel LCD connection to Serial so I can use 2 wires to communicate with the screen using an arduino and still have open pins on the arduino to use for something else. If this isn't the case, then do people usually have a dedicated microcontroller for the LCD screens or do they handle this a different way entirely?

EDIT: For example, this LCD screen requires approximately 11 pins which is a lot to use on an arduino.

Parallel Interface Vs Serial Interface

alexan_e
9,9521 gold badge17 silver badges51 bronze badges
SonicD007SonicD007
$endgroup$

3 Answers

$begingroup$

Well, here's the pin out: -

And, the pins that need control are DB0 to DB7, RS, R/W and E.

You can use a serial in parallel out shift register (such as 74xx595) - this means you load the data word (DB0-7) using one pin for data and another pin acting as a clock for the serial register.

The other three pins are probably best left as dedicated IO pins so, in total you can get away with 5. That's a lot better than 11.

Andy akaAndy aka
252k11 gold badges193 silver badges447 bronze badges
$endgroup$$begingroup$

Yes, there are a number of serial-to-LCD solutions for character LCDs. Adafruit sells one based on a Microchip I/O expander rather than a microcontroller to talk in two-wire I2C.

There are add-on boards using a processor, which can communicate in asynchronous serial at commonly used baud rates.

You can also purchase serial-input displays from, for example, Newhaven (available through distributors), which have additional features such as serially adjustable backlight brightness and display contrast.

Spehro PefhanySpehro Pefhany
222k5 gold badges177 silver badges464 bronze badges
$endgroup$$begingroup$

For example, this LCD screen requires approximately 11 pins which is a lot to use on an arduino.

Actually there are two modes you can use to drive an LCD,

the 8bit mode that uses 11 lines

and the 4bit mode that used 7 lines (or six if you use write only mode)

If seven lines is still too much then you can use just three pins with a serial shift register that receives the data serially and outputs them in the parallel outputs.

And if you want even lower then you can use just a single pin , but in this case the code will be more complicated due to the strict timing that has to be followed

alexan_ealexan_e
9,9521 gold badge17 silver badges51 bronze badges
$endgroup$

Not the answer you're looking for? Browse other questions tagged arduinomicrocontrollerseriallcdparallel or ask your own question.

Coments are closed