Multiple serial LCDs on one serial port using unique addresses

Over the weekend I made this upgrade to my serial LCD back pack so that each LCD is assigned a unique address and only responds to messages sent to its own address. This way you can connect multiple LCDs, up to 254 of them (expandable to infinite number but what is the use of that?!). You can set the LCD back pack to respond to everything, or set it to only respond to messages sent to its own address and broadcast messages (address 255).

This is a result of a post that the OP wants to connect up to 100 LCDs together:

http://arduino.cc/forum/index.php/topic,77843.0.html

Here is a picture:

The top LCD has address 1 and the bottom has address 2. First I sent out a broadcast address (255) with a message:

"Everyone!Not Bad!"

Then I sent a message bound for screen 1:

"Screen 1 reporting!"

And only screen 1 is displaying it.

Finally I sent a message bound for screen 2:

"Screen 2 reporting!"

And only screen 2 is displaying it.

You can connect any number of displays to one serial port as my picture shows, only one FTDI USB TTL serial adapter :) I did have to use a separate power supply to power the two displays since the adapter is not providing much power.

If I disable the addressable features, then both LCDs will display identical messages except one screen is smaller and the other is bigger.

There will also be a fan out limit on whatever is driving the line, maybe you need an RS-485 backpack for your backpack :)

Nice addition to your displays though.


Rob

Graynomad: There will also be a fan out limit on whatever is driving the line, maybe you need an RS-485 backpack for your backpack :)

Nice addition to your displays though.


Rob

Yes, that is right. The fan out limit is yet to be determined. I am thinking that is not a big deal because the devices are all connected to one wire, not daisy-chained, plus if I use a line driver after the arduino TX, I should be able to drive more lines. Essentially I am looking at the input impedance of the input pins on the back pack, connect them all parallel as I get more devices together. I am using atmega328p on the back pack.

On the doc8271, fig. 30-351 and 30-353, if the average current is less than 20mA on the pin, the pin should output correct voltages for logic 0 and 1. I can't find impedance on the doc. Must have slipped my eyes. But I may do an experiment to drive a few arduino input pins at different baud rate to see their impedance.

http://www.atmel.com/dyn/resources/prod_documents/doc8271.pdf