Go Down

Topic: Serial LCD (Read 933 times) previous topic - next topic


Hello all!
I am using a Serial LCD from sparkfun LCD-00461 to diplay voltages, so does anyone know how I can drive two LCD screens with one Arduino board? For example, use two ADC ports on the Arduino board and display the different voltage values on two different LCD screens at the same time.


I have feeling you would need two serial out ports to adress two diffrent serial LCD´s with different values.

Arduino is equiped with only one serial port, check


Or you could use the soft serial lib.



Did not know that was possible, great!
Everyday something new to learn... :)


By the way, will Tx/Rx controlled by this library be slower then using the real Tx/Rx pins.
And are we talking micro or milli seconds in delay?


Or you could use the soft serial lib.
Although it isn't important with respect to receive-only devices like many serial LCDs, it should be noted that the soft serial lib has a couple of shortcomings that may or may not be significant for other applications.  Firstly, the "software UART" is half duplex meaning that it can be transmitting or it can be receiving but it can't do both at the same time.  Secondly, correct reception only occurs if you invoke SWread() before the external device begins sending.  Data sent at other times is missed.

It is possible to implement full duplex software UART, even one with multiple channels.  We implemented a full duplex software UART for the ZBasic chips that supports up to 4 simultaneously operating channels that are fully buffered.  It uses a timer interrupt to detect the start bit and to regulate both the transmit and receive timing.

Also, you can find AVR code for a software UART that implements the receive side using an external interrupt or pin change interrupt to detect the start bit and a timer to regulate the receive timing.  Code like this would handle external serial devices that send data spontaneously.

Go Up