rm-hull / luma.lcd

Python module to drive PCD8544, HT1621, ST7735, ST7567 and UC1701X-based LCDs
https://luma-lcd.readthedocs.io
MIT License
159 stars 57 forks source link

Examples not working for pcd8544 #20

Closed thijstriemstra closed 2 years ago

thijstriemstra commented 7 years ago

I've wired up a pcd8544 device and connected it to an RPi2 with latest kernel and Python 3.5.3. When running an example, e.g. python examples/3d_box.py -i spi --display pcd8544 it enables the backlight but doesn't show the actual 3d_box demo, it shows a line at the bottom that randomly appears on the screen. Other demo's don't show anything at all, only the backlight is enabled. Do all demo's work for you?

thijstriemstra commented 7 years ago

Same random flashing bar for the bounce demo.

rm-hull commented 7 years ago

Is the wiring as per the diagram in the docs? If so, create a file called pcd8544.conf with the content as follows:

--display=pcd8544
--interface=spi
--spi-bus-speed=32000000
--bcm-reset=24
--bcm-data-command=23
--bcm-backlight=18
--width=84
--height=48

Then invoke an example as follows:

$ examples/demo.py -f pcd8544.conf

The default values for the DC and RST pins in code are different to that on the wiring diagram

rm-hull commented 7 years ago

Note to self: Should really check-in some different configuration files for various devices

thijstriemstra commented 7 years ago

Unfortunately that didn't work either, the screen stays on with active backlight but nothing happens. Attached some pictures. You sure that config is correct? Maybe my screen is broken..

img_20170127_222601_small

img_20170127_222423_small

rm-hull commented 7 years ago

From just now:

$ pip list | grep luma
luma.core (0.1.13)
luma.lcd (0.2.1)
luma.led-matrix (0.4.2)
luma.oled (2.1.0)

$ cat pcd8544.conf 
--display=pcd8544
--interface=spi
--spi-bus-speed=32000000
--bcm-reset=24
--bcm-data-command=23
--bcm-backlight=18
--width=84
--height=48

$ python examples/greyscale.py -f pcd8544.conf

produces:

image

rm-hull commented 7 years ago

Both the bounce and 3d box demos work as expected too

thijstriemstra commented 7 years ago

Ok notice I have these pins soldered on the other side of the board. You're using the ones with an arrow, so let me start soldering ;)

rm-hull commented 7 years ago

I hadnt noticed the arrow. at. all.

thijstriemstra commented 7 years ago

I would expect the arrow side to be 'out' or something but I guess not.

rm-hull commented 7 years ago

or maybe "this way up" 📦

thijstriemstra commented 7 years ago

Unfortunately it still doesn't work, the line or bar that I saw before, is now visible on the bottom of the screen but other than that, empty screen. Can you post a picture of the back of your screen, I'll find a better camera and do the same for mine.

rm-hull commented 7 years ago

Can't take a pic of the back unfortunately, the LCD is glued onto the stripboard with epoxy resin.

Did you try supplying 5V or 3V3 ? (try both)

Also try experimenting with setting different contrast ratios, some devices are calibrated differently

These are quite primitive controllers (compared to the SSD13xx at least), so there's not much to configure.

Alternatively, try a different lib (Adafruit one?) and see if you can get that working... also, i seem to remember: didnt you have some issues with one of your SPI oleds on a RPi3 ?

thijstriemstra commented 7 years ago

This is on an RPi 2. How would i change the contrast ratio (that's probably it..)?

rm-hull commented 7 years ago

The demo.py should cycle through the whole contrast range. If you run that does the image fade in & out?

https://github.com/rm-hull/luma.examples/blob/master/examples/demo.py#L60-L71

thijstriemstra commented 7 years ago

No I don't see anything at all (at least 99% of the screen). I'll get my hands on a better camera tomorrow and posts some pictures.

thijstriemstra commented 7 years ago

or maybe "this way up"

well, the diagram seems to use the ones on the bottom (although there's not an arrow on the picture) judging from the rotation of the screen and the thicker side of the screen frame at the top of the picture.

This is why I initially soldered and wired on that side of the display. Yours is on the opposite side and it works. Weird? Should both sides return equal results?

https://luma-lcd.readthedocs.io/en/latest/_images/wiring-diagram.png

rm-hull commented 7 years ago

I imagine the corresponding top and bottom pins are connected (e.g DIN to DIN, CLK to CLK, etc)

I mean "this way up" to just indicates the usual orientation, rather than anything to do with the pin connections

ghost commented 7 years ago

I think , it should be "--gpio-data-command" instead of "--bcm-data-command" , and "--gpio-reset" instead of "--bcm-reset" for the pins 23 and 24(which are gpio numbering), and "--bcm-backlight" doesn't work, it should be "--gpio-backlight" for pin 18, or we can use bcm pins.

thijstriemstra commented 7 years ago

@somu1795 yep, you're right, it changed after this ticket was created.