Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPi type A and ILI 9341 #39

Closed
N3KRoN opened this issue Apr 29, 2022 · 22 comments
Closed

RPi type A and ILI 9341 #39

N3KRoN opened this issue Apr 29, 2022 · 22 comments

Comments

@N3KRoN
Copy link

N3KRoN commented Apr 29, 2022

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
Copy link
Author

N3KRoN commented Apr 29, 2022

#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
Copy link
Owner

nopnop2002 commented Apr 29, 2022

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
Copy link
Author

N3KRoN commented Apr 29, 2022

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

@nopnop2002
Copy link
Owner

@N3KRoN
Copy link
Author

N3KRoN commented Apr 29, 2022

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
Copy link
Author

N3KRoN commented Apr 29, 2022

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
Copy link
Owner

nopnop2002 commented Apr 30, 2022

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
Copy link
Author

N3KRoN commented Apr 30, 2022

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

@nopnop2002
Copy link
Owner

nopnop2002 commented Apr 30, 2022

Yes
26 pin model.
IMG_2962

@nopnop2002
Copy link
Owner

nopnop2002 commented Apr 30, 2022

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
Copy link
Author

N3KRoN commented Apr 30, 2022

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

@nopnop2002
Copy link
Owner

nopnop2002 commented Apr 30, 2022

This is my pin out.

IMG_2960

@N3KRoN
Copy link
Author

N3KRoN commented Apr 30, 2022

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

@nopnop2002
Copy link
Owner

nopnop2002 commented Apr 30, 2022

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
Copy link
Author

N3KRoN commented Apr 30, 2022

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
Copy link
Owner

nopnop2002 commented Apr 30, 2022

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
Copy link
Owner

nopnop2002 commented Apr 30, 2022

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
Copy link
Author

N3KRoN commented Apr 30, 2022

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

@N3KRoN
Copy link
Author

N3KRoN commented Apr 30, 2022

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 of DrawMultiPixels'; /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 of DisplayOff'; /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 of InversionOff'; /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 of DrawPixel'; /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 of DrawFillRect'; /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 of DisplayOn'; /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 of InversionOn'; /tmp/ccrRnLCz.o:(.bss+0x18): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:58: ILI9341] Error 1

@N3KRoN
Copy link
Author

N3KRoN commented Apr 30, 2022

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
Copy link
Owner

nopnop2002 commented Apr 30, 2022

WiringPi may not work properly with retropie.

WiringPi is a very old library.

raspbian may have compatibility issues.

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

@N3KRoN
Copy link
Author

N3KRoN commented Apr 30, 2022

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants