LCD显示屏幕

产品概述

产品参数:
工作电压: 3.3V/5V (请保证供电电压和逻辑电压一致,否则会导致无法正常工作)
通信接口: SPI
屏幕类型: TFT
控制芯片: ST7735S
分辨率: 128*160 (Pixel)
显示尺寸: 35.04(W) * 28.03(H)(mm)
像素大小: 0.219(W)*0.219(H)(MM)
产品尺寸: 56.5 * 34(mm)

产品资料

  • 1.8寸彩色LCD显示屏 128×160分辨率 SPI接口65K彩色 微雪维基
  • 1.8寸Pico 65K彩色显示屏LCD模块160×128像素 SPI通信 微雪维基

树莓派连接

通过8PIN排针连接,参考表格:
IMG-NPC-202504-014.png
参考实物图:
lcd1.8inch.jpg

安装库

  • BCM2835

命令如下:

#打开树莓派终端,并运行以下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
tar zxvf bcm2835-1.71.tar.gz 
cd bcm2835-1.71/
sudo ./configure && sudo make && sudo make check && sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
  • WiringPi

命令如下:

#打开树莓派终端,并运行以下指令
cd
sudo apt-get install wiringpi
#对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行gpio -v会出现2.52版本,如果没有出现说明安装出错

#Bullseye分支系统使用如下命令:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
# 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
  • lgpio (Bookworm系统只能使用该库)

命令如下:

sudo su
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
sudo make install 
# 更多的可以参考官网:https://github.com/gpiozero/lg
  • Python

命令如下:

sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo pip3 install spidev

下载并运行测试程序

命令如下:

sudo apt-get install unzip -y
sudo wget https://www.waveshare.net/w/upload/8/8d/LCD_Module_RPI_code.zip
sudo unzip ./LCD_Module_RPI_code.zip
cd LCD_Module_RPI_code/RaspberryPi/
  • C语言

以下命令请在RaspberryPi下执行,否则不在索引不到目录;
重新编译,编译的过程可能需要几秒

cd c
sudo make clean
sudo make -j 8

根据不同尺寸LCD,选择不同的命令

#0.96inch LCD Module
sudo ./main 0.96
#1.14inch LCD Module
sudo ./main 1.14
#1.28inch LCD Module
sudo ./main 1.28
#1.3inch LCD Module
sudo ./main 1.3
#1.47inch LCD Module
sudo ./main 1.47
#1.54inch LCD Module
sudo ./main 1.54
#1.8inch LCD Module
sudo ./main 1.8
#2inch LCD Module
sudo ./main 2
#2.4inch LCD Module
sudo ./main 2.4
  • Python语言

进入python程序目录,并运行指令ls -l

cd python/example
ls -l

运行对应屏幕的程序即可

# python3
sudo python3 0inch96_LCD_test.py
sudo python3 1inch14_LCD_test.py
sudo python3 1inch28_LCD_test.py
sudo python3 1inch3_LCD_test.py
sudo python3 1inch47_LCD_test.py
sudo python3 1inch54_LCD_test.py
sudo python3 1inch8_LCD_test.py
sudo python3 2inch_LCD_test.py
sudo python3 2inch4_LCD_test.py

FBCP移植

Framebuffer 是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备。简单的来说,就是使用一个内存区来存储显示内容,改变内存的数据就可以改变显示的内容。
在 github 上有一个开源工程:fbcp-ili9341,该工程相比其他类fbcp工程,利用了局部刷新和DMA实现高达60fps的速度

  • 下载驱动

命令如下:

sudo apt-get install cmake -y
cd ~
wget https://www.waveshare.net/w/upload/1/18/Waveshare_fbcp.zip
unzip Waveshare_fbcp.zip
cd Waveshare_fbcp/
sudo chmod +x ./shell/*
  • 通过脚本快速使用FBCP,根据自己的屏幕运行对应的指令

注:脚本会替换对应/boot/config.txt和/etc/rc.local并重启,如果用户如有需,请提前备份有关文件

#0.96inch LCD Module
sudo ./shell/waveshare-0inch96
#1.14inch LCD Module
sudo ./shell/waveshare-1inch14
#1.3inch LCD Module
sudo ./shell/waveshare-1inch3
#1.44inch LCD Module
sudo ./shell/waveshare-1inch44
#1.54inch LCD Module
sudo ./shell/waveshare-1inch54
#1.8inch LCD Module
sudo ./shell/waveshare-1inch8
#2inch LCD Module
sudo ./shell/waveshare-2inch
#2.4inch LCD Module
sudo ./shell/waveshare-2inch4

【注意】手动配置,参考官方文件,不打算使用,因为屏幕过小,不适合用来显示系统桌面。