I have a project where I need to connect up to 4 16x2 LCD's to a Pi 3's i2c bus.
Each screen works great on it's own, but won't play nice when all connected together.
I've got 4 basic 16x2 LCD's and backpacks wired up, connected to the Pi's 5V, GND, SCL and SDA pins.
I set each LCD's backpack to a different address:
I also have a real time (RASclock) clock on the i2c bus, running at 0x51.
I can scan the i2c bus using: sudo i2cdetect -y 1 and it returns all the addresses no problem.
If I run a test Python program that displays characters on a single specific LCD address, it works great.
As soon as I try to run the same program (different addresses obviously) on two of the screens (using sudo python lcd1.py & sudo python lcd2.py &) it works for about 20 or 30 seconds then gives an error and one of the LCD's will stop working.
There are 4 rotary encoders (with push button) in the project as well connected to GPIO pins and they all work fine together.
I'm learning, but a bit stumped by this one.
I suspect it's something simple I'm overlooking (or just ignorant of at this point) in the lcd python code conflicting with the two instanced of the program running.
Any help or pointers greatly appreciated!