nopnop2002 / Raspberry-ili9325

Parallel TFT Shield Library for wiringPi
64 stars 14 forks source link

RPi type A and ILI 9341 #39

Closed N3KRoN closed 2 years ago

N3KRoN commented 2 years ago

Good afternoon, I am trying to connect an Arduino LCD Shield with ILI9341 to a Raspberry Pi model A, but it does not work. Your schematic uses the full comb of pins from the RPi model 3, so I reassigned the pins to those of my RPi version. Unfortunately, I always get a picture like the one in the picture. IMG_2856

Below in the schematic and in the config pins.confiring the pins I used:

IMG_1749

Number is WiringPi Number(NOT GPIO Number)

RST=7 CS=8 RS=9 WR=11 RD=10 D0=0 D1=2 D2=3 D3=4 D4=5 D5=6 D6=12 D7=13

If your TFT is 8 bit Parallel,A definition after this isn't used.

D8=2 D9=3 D10=4 D11=5 D12=15 D13=16 D14=29 D15=30

My LCD module looks like this: IMG_1751 IMG_1750

IMG_2857

I have tried reassigning the pins several times, but I either get the same thing as above, or just a white screen. I really need your help!

N3KRoN commented 2 years ago

https://github.com/nopnop2002/Raspberry-ili9325/issues/33 I read the closed issues and found just like with my screen, but I can not even just display the information on it( I don't need a screenshot much, I just need a display...

nopnop2002 commented 2 years ago

I've been asked similar questions so far, but most of the time it's because the right driver isn't selected.

The appearance alone cannot determine the correct driver.

Use this to check. https://github.com/prenticedavid/MCUFRIEND_kbv/tree/master/examples/LCD_ID_readreg

Never believe the seller's information.

N3KRoN commented 2 years ago

I checked it on arduino uno and see ILI9341. And on arduino lcd excellent work, but on rpi doesnt(

nopnop2002 commented 2 years ago

I want to see this result

https://github.com/prenticedavid/MCUFRIEND_kbv/tree/master/examples/LCD_ID_readreg

N3KRoN commented 2 years ago

I want to see this result

https://github.com/prenticedavid/MCUFRIEND_kbv/tree/master/examples/LCD_ID_readreg

Okay, I'll send you in an hour

N3KRoN commented 2 years ago

Read Registers on MCUFRIEND UNO shield controllers either read as single 16-bit e.g. the ID is at readReg(0) or as a sequence of 8-bit values in special locations (first is dummy)

reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ... reg(0x0004) 00 00 00 00 Manufacturer ID reg(0x0009) 00 00 61 00 00 Status Register reg(0x000A) 00 08 Get Power Mode reg(0x000C) 00 06 Get Pixel Format reg(0x0061) 00 00 RDID1 HX8347-G reg(0x0062) 00 00 RDID2 HX8347-G reg(0x0063) 00 00 RDID3 HX8347-G reg(0x0064) 00 00 RDID1 HX8347-A reg(0x0065) 00 00 RDID2 HX8347-A reg(0x0066) 00 00 RDID3 HX8347-A reg(0x0067) 00 00 RDID Himax HX8347-A reg(0x0070) 00 00 Panel Himax HX8347-A reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963 reg(0x00B0) 00 00 RGB Interface Signal Control reg(0x00B4) 00 02 Inversion Control reg(0x00B6) 00 0A 82 27 04 Display Control reg(0x00B7) 00 06 Entry Mode Set reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B reg(0x00C0) 00 21 00 00 00 00 00 00 00 Panel Control reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA reg(0x00CC) 00 72 Panel Control reg(0x00D0) 00 00 00 Power Control reg(0x00D2) 00 00 00 03 03 NVM Read reg(0x00D3) 00 00 93 41 ILI9341, ILI9488 reg(0x00D4) 00 00 00 00 Novatek ID reg(0x00DA) 00 00 RDID1 reg(0x00DB) 00 00 RDID2 reg(0x00DC) 00 00 RDID3 reg(0x00E0) 00 0F 16 14 0A 0D 06 43 75 33 06 0E 00 0C 09 08 GAMMA-P reg(0x00E1) 00 08 2B 2D 04 10 04 3E 24 4E 04 0F 0E 35 38 0F GAMMA-N reg(0x00EF) 00 03 80 02 02 02 ILI9327 reg(0x00F2) 00 02 02 02 02 02 02 02 02 02 02 02 Adjust Control 2 reg(0x00F6) 00 01 00 00 Interface Control

Screen Shot 2022-04-29 at 14 51 42 and i default example for tft lcd i see that

nopnop2002 commented 2 years ago

reg(0x00D3) 00 00 93 41 ILI9341, ILI9488

Your TFT is definitely ILI9341.

Works fine with PI model B(26 pin).

Check the wiring again.

IMG_2957

This is mine.

IMG_2960

N3KRoN commented 2 years ago

in my rasppberrry 26 pins Can you check with 26 pins? Raspberry-pi-pinout

nopnop2002 commented 2 years ago

Yes 26 pin model. IMG_2962

nopnop2002 commented 2 years ago

Do you supply 5V to the TFT?

When a regulator(It's often AMS1117) is mounted on the back, it's operated 5V. When a regulator is NOT mounted on the back, it's operated 3.3V.

N3KRoN commented 2 years ago

I have tried both 3.3 V and 5 V. Please write the pinout of your connection, I will make exactly like yours.

nopnop2002 commented 2 years ago

This is my pin out.

IMG_2960

N3KRoN commented 2 years ago

But you use more pins in your schematic, I don't really understand how I can apply them in my

nopnop2002 commented 2 years ago

But you use more pins in your schematic,

I don't understand your meaning.

What is my schematic?

I'm not using any more GPIOs.

IMG_2960

N3KRoN commented 2 years ago

166093847-be85ba24-9681-468c-b6bc-25b40f05a994 Did I get it right? The top row is for 26 pin RPi and the bottom row is for 40 pin? But with these first 4 pins in mind

nopnop2002 commented 2 years ago

The top row is for 26 pin RPi and the bottom row is for 40 pin?

YES RST CS RS WR has not changed. Other than that, I changed the pins used.

nopnop2002 commented 2 years ago

My pin,conf

#for 26pin header
#Number is WiringPi Number(NOT GPIO Number)
RST=7
CS=8
RS=9
WR=11
RD=15
D0=16
D1=0
D2=1
D3=2
D4=3
D5=4
D6=5
D7=6
#If your TFT is 8 bit Parallel,A definition after this isn't used.
D8=2
D9=3
D10=4
D11=5
D12=15
D13=16
D14=29
D15=30
N3KRoN commented 2 years ago

IMG_2869 i select ILI9341 Maybe because I use retropie, now I will try to install it on a clean raspbian firmware

N3KRoN commented 2 years ago

Installed latest raspbian full, install wiringpi (https://github.com/WiringPi/WiringPi) and have this problem...

cc -o demo demo.c fontx.c tft_lib.c driver.a jpeg.a png.a -lwiringPi -lm -lpthread -DILI9341 /usr/bin/ld: /tmp/ccCI1otw.o:(.bss+0x0): multiple definition of DrawPixel'; /tmp/ccrRnLCz.o:(.bss+0x0): first defined here /usr/bin/ld: /tmp/ccCI1otw.o:(.bss+0x4): multiple definition ofDrawMultiPixels'; /tmp/ccrRnLCz.o:(.bss+0x4): first defined here /usr/bin/ld: /tmp/ccCI1otw.o:(.bss+0x8): multiple definition of DrawFillRect'; /tmp/ccrRnLCz.o:(.bss+0x8): first defined here /usr/bin/ld: /tmp/ccCI1otw.o:(.bss+0xc): multiple definition ofDisplayOff'; /tmp/ccrRnLCz.o:(.bss+0xc): first defined here /usr/bin/ld: /tmp/ccCI1otw.o:(.bss+0x10): multiple definition of DisplayOn'; /tmp/ccrRnLCz.o:(.bss+0x10): first defined here /usr/bin/ld: /tmp/ccCI1otw.o:(.bss+0x14): multiple definition ofInversionOff'; /tmp/ccrRnLCz.o:(.bss+0x14): first defined here /usr/bin/ld: /tmp/ccCI1otw.o:(.bss+0x18): multiple definition of InversionOn'; /tmp/ccrRnLCz.o:(.bss+0x18): first defined here /usr/bin/ld: driver.a(ili9341.o):(.bss+0x0): multiple definition ofDrawPixel'; /tmp/ccrRnLCz.o:(.bss+0x0): first defined here /usr/bin/ld: driver.a(ili9341.o):(.bss+0x4): multiple definition of DrawMultiPixels'; /tmp/ccrRnLCz.o:(.bss+0x4): first defined here /usr/bin/ld: driver.a(ili9341.o):(.bss+0x8): multiple definition ofDrawFillRect'; /tmp/ccrRnLCz.o:(.bss+0x8): first defined here /usr/bin/ld: driver.a(ili9341.o):(.bss+0xc): multiple definition of DisplayOff'; /tmp/ccrRnLCz.o:(.bss+0xc): first defined here /usr/bin/ld: driver.a(ili9341.o):(.bss+0x10): multiple definition ofDisplayOn'; /tmp/ccrRnLCz.o:(.bss+0x10): first defined here /usr/bin/ld: driver.a(ili9341.o):(.bss+0x14): multiple definition of InversionOff'; /tmp/ccrRnLCz.o:(.bss+0x14): first defined here /usr/bin/ld: driver.a(ili9341.o):(.bss+0x18): multiple definition ofInversionOn'; /tmp/ccrRnLCz.o:(.bss+0x18): first defined here collect2: error: ld returned 1 exit status make: *** [Makefile:58: ILI9341] Error 1

N3KRoN commented 2 years ago

Installed a clean retropie, wiring and copied your driver again and again the same thing on the screen( Something must be wrong with retropie...

nopnop2002 commented 2 years ago

WiringPi may not work properly with retropie.

WiringPi is a very old library.

raspbian may have compatibility issues.

http://wiringpi.com/examples/blink/

N3KRoN commented 2 years ago

IMG_2871 I moved the SD card to another rpi and it worked! Apparently the problem is in my rpi model A, maybe some pins in it don't work and that's why there were problems...

Now everything works, thanks so much for your help!