This is library for RaspberryPi.
You can use a TFT Shield for UNO R3.
This library can show a chart to TFT Shield.
Primarily, these TFT Shiled is the one for Arduino.
This may works with other boards like OrangePi/NanoPi.
These are all 2.4 inch, 320x240 TFTs.
3.95 inches is almost twice as large as 2.4 inches.
These are OPEN-SMART 16Pin-Parallel Products.
TFT | RPI | |
---|---|---|
LCD_RST | -- | Pin#7 |
LCD_CS | -- | Pin#3 |
LCD_RS | -- | Pin#5 |
LCD_WR | -- | Pin#26 |
LCD_RD | -- | Pin#28 |
LCD_D0 | -- | Pin#29 |
LCD_D1 | -- | Pin#31 |
LCD_D2 | -- | Pin#33 |
LCD_D3 | -- | Pin#35 |
LCD_D4 | -- | Pin#37 |
LCD_D5 | -- | Pin#32 |
LCD_D6 | -- | Pin#36 |
LCD_D7 | -- | Pin#38 |
5V | -- | 5V(*) |
3.3V | -- | 3.3V(*) |
GND | -- | GND |
*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.
NOTE
My R61509V has a regulator on the back.
Normally, a TFT with a regulator works at 5V, but my R61509V doesn't work unless I supply both 5V and 3.3V.
NOTE
You can change any pin.
Pin define is "pin.conf".
If you use a 26-pin header, you can use "pin.conf.26pin" instead of "pin.conf".
for ILI9225
make ILI9225
for ILI9320
make ILI9320
for ILI9325
make ILI9325
for ILI9327
make ILI9327
for ILI9341
make ILI9341
for ILI9342
make ILI9342
for ILI9481
make ILI9481
for ILI9486
make ILI9486
for ILI9488
make ILI9488
for ILI9488 Inversion Color
make ILI9488-INVERT
for SPFD5408
make SPFD5408
for R61505U
make R61505U
for R61509V
make R61509V
for S6D1121
make S6D1121
for ST7775
make ST7775
for ST7781
make ST7781
for ST7783
make ST7783
for ST7793
make ST7793
for ST7796
make ST7796
The information provided by sellers on Ebay or AliExpress is largely incorrect.
You waste time if you don't choose the right driver.
There are many variations of the 2.4 inch shield.
You can use this to find out your driver.
This is for Arduino UNO.
Do not use this on the RPI as the GPIO on the RPI is not 5V tolerant.
Never believe the seller's information.
JPEG file
PNG file
./demo
You can change draw1.txt & draw2.txt & me.sh
./draw draw1.txt
./draw draw2.txt
bash ./me.sh
To use this, you need python3 and Pillow.
And reduce the security level of OpenSSL encryption.
$ sudo apt install libtiff5 libopenjp2-7
$ python -m pip install -U Pillow
$ sudo cp /usr/lib/ssl/openssl.cnf /usr/lib/ssl/openssl.cnf.old
$ sudo vi /usr/lib/ssl/openssl.cnf
#CipherString = DEFAULT@SECLEVEL=2
CipherString = DEFAULT@SECLEVEL=1
$ bash ./365calendar.sh
To use this, you need python3 and imagemagick.
$ sudo apt install imagemagick
$ bash ./bing_wallpaper.sh
TFT | RPI | |
---|---|---|
LCD_RST | -- | Pin#7 |
LCD_CS | -- | Pin#3 |
LCD_RS | -- | Pin#5 |
LCD_WR | -- | Pin#26 |
LCD_RD | -- | Pin#28 |
LCD_D0 | -- | Pin#29 |
LCD_D1 | -- | Pin#31 |
LCD_D2 | -- | Pin#33 |
LCD_D3 | -- | Pin#35 |
LCD_D4 | -- | Pin#37 |
LCD_D5 | -- | Pin#32 |
LCD_D6 | -- | Pin#36 |
LCD_D7 | -- | Pin#38 |
LCD_D8 | -- | Pin#13 |
LCD_D9 | -- | Pin#15 |
LCD_D10 | -- | Pin#16 |
LCD_D11 | -- | Pin#18 |
LCD_D12 | -- | Pin#8 |
LCD_D13 | -- | Pin#10 |
LCD_D14 | -- | Pin#40 |
LCD_D15 | -- | Pin#27 |
5V | -- | 5V(*) |
3.3V | -- | 3.3V(*) |
GND | -- | GND |
*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.
NOTE
You can change any pin.
Pin define is "pin.conf".
cc -o demo demo.c fontx.c tft_lib.c driver/*.c -lwiringPi -lm -lpthread -DILI9341 -DP16BIT
cc -o draw draw.c fontx.c tft_lib.c driver/*.c -lwiringPi -lm -lpthread -DILI9341 -DP16BIT
./demo
This module has SPI Touch Sensor.
So you can read touch position.
Use raspi-config to enable SPI.
Wirering for SPI-Touch sensor
TFT | RPI | |
---|---|---|
PEN | -- | Pin#22(**) |
T_CS | -- | Pin#24(**) |
MOSI | -- | Pin#19(***) |
MISO | -- | Pin#21(***) |
CLK | -- | Pin#23(***) |
**It's defined in the source code.
//#define SPI_CHANNEL 1 // /dev/spidev0.1
***Can't change
cc -o xpt xpt.c xpt2046.c -lwiringPi -lm -lpthread
sudo ./xpt
And you can operate Pi using touch sensor.
cc -o touch touch.c fontx.c tft_lib.c driver/ili9341.c xpt2046.c -lwiringPi -lm -lpthread -DILI9341 -DP16BIT
sudo ./touch
OPEN SMART products have 4-wire resistive touch screen, but Pi cannot use this because Pi cannot input analog.
This project uses this JPEG library.
This can reduce the image to 1/2 1/4 1/8.
I ported the pngle library from here.
This can reduce the image to any size.