[One Wire] LCD Display

Hello, I just bought a Arduino Uno and a One Wire 16x2 LCD and I cannot find a tutorial or documentation on One Wire displays, only Two Wire. Can anyone help me or link me to something to get me started? I just want a short and simple sketch which displays text on the LCD.

I am also new on the forums so if this isn't in the right place or if there is a thread on this already please let me know and link me to that thread.

Thank you.

Post a link to the actual display that you have bought. e.g. Ebay or Aliexpress advert.

I have never heard of a One-wire backpack. I am sure it is possible but it will be incredibly slow.

David.

Assuming it is one wire in addition to power and ground,
It could be using async serial which could be quite speedy.

Also, I have experimented with a single wire backpack for a hd44780 interface that does not use async serial but bit banged pulse width encoding on a single wire using a shift register. About same cost as a simple 2 or 3 wire shift register backpack (has a few more components to detect the pulse widths).
While it is a little bit slower than a 3pin or 2pin shift register backpack, it is faster than i2c and believe it or not about 3.5X faster than the IDE built in LiquidCrystal library!
It is also faster than a 3 wire shift register when E controlled by a SR output pin vs directly control by the processor.

On a 16Mhz AVR:
94us to transfer a byte to the LCD display with 1 wire vs 338us to transfer the same byte using the IDE LiquidCrystal and direct pin control using 6 pins with both using the LCD in 4 bit mode.

So using a single pin to control a LCD does not have to be slow.

--- bill

I was assuming that the OP was talking about the Maxim-Dallas OneWire bus.
Yes, it is not unreasonable for a single device. Multiple devices become a lot more complicated.

A UART-style interface is quite efficient, but you only have one device. It is not a bus.

David.

david_prentice:
A UART-style interface is quite efficient, but you only have one device. It is not a bus.

It can act like bus if you use something like the AVR Multi-processor communication mode.
A master can address many slaves (I think up to 256) all using a single wire.

--- bill

david_prentice:
A UART-style interface is quite efficient, but you only have one device. It is not a bus.

It certainly can be. As in any other system, this is addressed(sic) by addressing and "packet" switching.

Here's the link to the LCD I am working with: (BPI-216L) BPI-216N/L Serial LCD

Can someone help me with a simple sketch to display a text like "hello" on this LCD through asynchronous communication to get me started? I would really appreciate it.

Couldn't find an example in Arduino for One Wire.

Thanks

The vendor is providing very good documentation on the part and how to use it.
See the Hardware and Programming references from the page your provided.

It is not using One Wire but TTL level async serial.

You simply send it characters to do data writes to the display, and if you want to send a hd444780 command you send a 0xfe before the hd44780 command byte.

--- bill

LCD backpacks existed well before the existence of the PCF8574 I2C variety.

The first backpacks used a small AVR like a Tiny2313. This enabled them to have UART, SPI or I2C interfaces. It also meant that they were inherently as fast as the HD44780.

Of course the dumb PCF8574 was cheaper than an intelligent AVR or PIC. As soon as you had a reliable Arduino LiquidCrystal_I2C library, the cheapness and convenience outweighed the slow speed.

You can still buy the intelligent backpacks. Your UART style backpack is a case in point.
If there is a library class that uses the same methods as the 'other' libraries, it will be equally easy to use.

David.

... The first backpacks used a small AVR like a Tiny2313.

The earliest serial backpack that I remember was developed by Peter Anderson and I think it was based on a PIC. I got mine for a project in the mid 90's it's still around here somewhere.

Don

floresta:
The earliest serial backpack that I remember was developed by Peter Anderson and I think it was based on a PIC. I got mine for a project in the mid 90's it's still around here somewhere.

Don

I remember the LCD 107 and LCD 117 kits(which are still being sold)
http://www.phanderson.com/lcd106/lcd107.html
Apparently, Peter died a few years back (I didn't know him but its sad):
http://www.phanderson.com/Obit/

Apparently the source code has been made open source and has been donated to humanity under an MIT license.
It wouldn't be that difficult to convert it to arduino code.

--- bill

I downloaded the source code and totally missed the part where you said it had to be converted to Arduino code. I'm extremely new to this and no clue how on how to do it? Would it be too much to have you or someone knowledge with that sort of thing to do it for me? I would really appreciate it, thank you.

While it isn't a difficult task it would be a bit time consuming so it isn't just a quick few changes to do it.

I have just found one of these one wire displays in my boxes of bits. Is there a library that now supports it please?

I have been trying to upload an image but the forum software gives me errors and refuses to take them! The one that appears is not what I was trying to show. It seems impossible to remove it!

Backpack has www milinst com on the back together with a PIC16C54C.

This might show it...

I suspect that the backpack receives UART data on a single pin.
Only you can read the instructions printed on the pcb.

Then just Serial.print("any messages");
And probably an escape-sequence for any control instructions.

If you are lucky, it follows a common format.

LCDs are very cheap nowadays. Buy an I2C backpack LCD.

David.

You may have to guess the baudrate.

It looks like it is 9600 or 2400 selectable on header pins. I assume it gets connected to pin 1 TX?