Pico-ResTouch-LCD-3.5

Pico-ResTouch-LCD-3.5
Pico-ResTouch-LCD-3.5
{{{name2}}}
{{{name3}}}
基本信息
分类: LCD模块
{{{userDefinedInfo1}}}: {{{userdefinedvalue1}}}
{{{userDefinedInfo2}}}: {{{userdefinedvalue2}}}
{{{userDefinedInfo3}}}: {{{userdefinedvalue3}}}
品牌: Waveshare
功能简介
特性 无特性,不解释
显示尺寸 3.5英寸
分辨率 480×320
' 无特性,不解释
' 无特性,不解释
接口 SPI
相关产品
Raspberry Pi Pico

Raspberry-Pi-Pico-Basic-Kit
Raspberry-Pi-Pico-Sensor-Kit
Raspberry-Pi-Pico-Kit-B
Pico-LCD-0.96
Pico-LCD-1.14
Pico-LCD-1.3
Pico-LCD-1.44
Pico-LCD-1.8
Pico-LCD-2
Pico-ResTouch-LCD-2.8
Pico-ResTouch-LCD-3.5
Pico-OLED-1.3
Pico-OLED-2.23
Pico-SIM7020C-NB-IoT
Pico-SIM7080G-Cat-M/NB-IoT
Pico-10DOF-IMU
Pico-RTC-DS3231
Pico-UPS-A
Pico-Clock-Green
Pico-8SEG-LED
Pico-GPS-L76B

ePaper系列:
Pico-ePaper-2.13
Pico-ePaper-2.13-B
Pico-ePaper-2.13-D
Pico-ePaper-2.66
Pico-ePaper-2.66-B
Pico-ePaper-2.7
Pico-ePaper-2.9
Pico-ePaper-2.9-B
Pico-ePaper-2.9-D
Pico-CapTouch-ePaper-2.9
Pico-ePaper-3.7
Pico-ePaper-5.83
Pico-ePaper-5.83-B
Pico-ePaper-7.5
Pico-ePaper-7.5-B

♦ {{{Product2}}}
♦ {{{Product3}}}
♦ {{{Product4}}}
♦ {{{Product5}}}
♦ {{{Product6}}}

目录

产品简介

专门为Raspberry Pi Pico 设计的3.5 英寸电阻触摸屏扩展板,板载电阻式触摸控制芯片 XPT2046 和 Micro SD 卡槽,使用 SPI 接口通信

产品特性

  • 480 × 320 分辨率液晶屏,65K 彩色,能清晰地显示彩色图片
  • 板载触摸控制芯片,相比用 AD 引脚控制触摸板的方案,触摸效果更流畅
  • 板载 Micro SD 卡槽,方便放入图片直接进行显示
  • 背光灯可编程控制,更省电
  • 提供完善的配套资料手册 (Raspberry Pi Pico C/C++ 和 MicroPython 等示例程序)

产品参数

我的参数
工作电压 5V 分辨率 480 × 320 Pixels
通信接口 SPI 显示尺寸 73.44 × 48.96 mm
显示面板 IPS 像素大小 0.153 × 0.153 mm
控制芯片 ILI9488 产品尺寸 86.00 × 57.20 mm

引脚分布

auto

产品尺寸

Pico-ResTouch-LCD-3.5 003.jpg

Pico快速上手

Pico百科

固件下载

MicroPython固件下载
  • Pico MicroPython.gif
C_Blink固件下载
  • Pico Blink.gif
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6

视频教程(更新中)

PICO系列教程1——基础介绍
PICO系列教程2——外设GPIO
PICO系列教程3——PWM(脉冲宽度调制)
PICO系列教程4——ADC(模拟数字转换器)
教程名5
  • 列表5
教程名6
  • 列表6


文字教程(更新中)

MicroPython系列
C/C++系列
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6

开源例程


环境设置

1. 树莓派环境设置请点击查阅链接
2. Windows环境设置请点击查阅链接

硬件连接

LCD Pico 功能
VCC VSYS 电源输入
GND GND 电源地
SDIO_CLK GP5 SDIO接口SCK引脚,从设备时钟输入
LCD_DC GP8 数据/命令控制引脚(高电平数据,低电平命令)
LCD_CS GP9 LCD片选引脚(低电平有效)
LCD_CLK GP10 SPI通信CLK引脚,从设备时钟输入
MOSI GP11 SPI通信MOSI引脚,从设备数据输入
MISO GP12 SPI通信MISO引脚,从设备数据输出
LCD_BL GP13 背光控制
LCD_RST GP15 LCD复位引脚(低电平有效)
TP_CS GP16 触摸片选引脚(低电平有效)
TP_IRQ GP17 触摸中断引脚(低电平有效)
SDIO_CMD GP18 SDIO接口的CMD引脚
D0 GP19 SDIO接口的D0引脚
D1 GP20 SDIO接口的D1引脚
D2 GP21 SDIO接口的D2引脚
SD_CS/D3 GP22 SDIO接口的CS/D3引脚

Pico-ResTouch-LCD-2.8 004.jpg
注意Pico接入方向,Pico的USB应同MicroSD卡同一方向

树莓派

1. 使用SSH登陆树莓派终端或使用屏幕时同时按下Ctrl+Alt+T打开终端
2. 下载解压程序到Pico C/C++ SDK目录下,还未安装SDK用户参考教程

#注意自己目录,SDK安装教程默认安装目录为~/pico/,如若用户自定义其它目录,自行更改
wget -P ~/pico/ https://www.waveshare.net/w/upload/f/fc/Pico-ResTouch-LCD-X_X_Code.zip
cd ~/pico
unzip Pico-ResTouch-LCD-X_X_Code.zip

c

1. 按住Pico的BOOTSEL使用MicroUSB线缆连接Pico到树莓派的USB后松开
2. 编译运行Pico-ResTouch-LCD-X_X的c示例程序

cd ~/pico/Pico-ResTouch-LCD-X_X_Code/c/build/
cmake ..
make -j4
sudo mount /dev/sda1 /mnt/pico && sudo cp main.uf2 /mnt/pico/ && sudo sync && sudo umount /mnt/pico 

3. Pico运行,屏幕开始显示
4. LCD屏幕上的RUN按键按下可复位Pico,先按下BOOTSEL按键再按下RUN按键后释放BOOTSEL和RUN,Pico可进入磁盘模式无需插拔Pico

python

To Be Done!!!

代码简析

本例程在运行后,先显示一些字符、图案,然后再显示图片,最后再显示触摸画板功能,C例程适配Pico-ResTouch-LCD-2.8和Pico-ResTouch-LCD-3.5. 在主函数中,我们将三个主要函数按顺序放置且将TP_DrawBoard();放在死循环中即可实现上述功能

GUI_Show();
LCD_Show_bmp(Bmp_ScanDir , Lcd_ScanDir);	
TP_DrawBoard();

在使用LCD_ShowBMP用于显示图片实验前,先把资料中PIC文件夹下中的图片复制到SD卡根目录 ,然后将SD卡插入屏幕背面的SD卡卡槽里开始下载程序验证即可

  • 在这里要注意的是SD卡要是FAT格式的,对应不同屏幕需要不同像素大小图片,2.8寸图片像素大小是240×320,3.5寸像素大小是480×320,图片要是24位色深.BMP格式


本产品使用的显示控制器为ST77899(2.8inch)/ILI9488(3.5inch),我们需要通过SPI通讯协议对该控制器进行初始化,初始化函数都写在LCD_Driver.c里,可以看到在lcd_test.c文件中

 System_Init();//系统初始化、配置串口波特率、SPI及相关引脚等<br/>
  LCD_SCAN_DIR Lcd_ScanDir = SCAN_DIR_DFT; //设置扫描方式 <br/>
  LCD_Init( Lcd_ScanDir, 200);//初始化屏幕,并传递了扫描方式及背光亮度<br/>

关于屏幕显示的功能函数都写在LCD_GUI.c里,每个函数的功能及传递的参数在源代码里都有解释,需要使用时直接调用即可

  • 画点
void GUI_DrawPoint(POINT Xpoint, POINT Ypoint, COLOR Color,
                   DOT_PIXEL Dot_Pixel, DOT_STYLE DOT_STYLE)
  • 画线(实线或虚线)
void GUI_DrawLine(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend,
                  COLOR Color, LINE_STYLE Line_Style, DOT_PIXEL Dot_Pixel)
  • 画矩形(空心或实心)
void GUI_DrawRectangle(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend,
                       COLOR Color, DRAW_FILL Filled, DOT_PIXEL Dot_Pixel)
  • 画圆(空心或实心)
void GUI_DrawCircle(POINT X_Center, POINT Y_Center, LENGTH Radius,
                    COLOR Color, DRAW_FILL  Draw_Fill , DOT_PIXEL Dot_Pixel)
  • 显示字符
void GUI_DisChar(POINT Xpoint, POINT Ypoint, const char Acsii_Char,
                 sFONT* Font, COLOR Color_Background, COLOR Color_Foreground)
  • 显示字符串
void GUI_DisString_EN(POINT Xstart, POINT Ystart, const char * pString,
                      sFONT* Font, COLOR Color_Background, COLOR Color_Foreground )
  • 显示数字
void GUI_DisNum(POINT Xpoint, POINT Ypoint, int32_t Nummber,
                sFONT* Font, COLOR Color_Background, COLOR Color_Foreground )
  • 显示时间
void GUI_Showtime(POINT Xstart, POINT Ystart, POINT Xend, POINT Yend,
                  DEV_TIME *pTime, COLOR Color)


在这里也稍微做下解释,本例程显示BMP图片首先也是通过SPI协议来读取SD卡中BMP格式的图片数据,再把这些数据以图像显示出来即可
在lcd_test.c文件中,主要使用以下两个函数显示图片:

SD_Init();//SD卡初始化
LCD_Show_bmp(bmp_scan_dir,lcd_scan_dir);//显示BMP图片

这些函数都写在LCD_Bmp.c里,实际上从SD卡中读取特定文件名的BMP格式的图片数据再调用我们自己写好的显示函数把这些数据重新“表达”为图像
这种方式不管在哪个平台,其原理都是类似的,感兴趣的朋友可以查阅相关资料对照相关代码认真研究一下
在LCD_Touch.c文件中:

  TP_Init( Lcd_ScanDir );//触摸板初始化,传递参数为扫描方式
  TP_GetAdFac();//校准屏幕
  TP_Dialog();//清屏
  TP_DrawBoard();//开启画板

该例程运行后,屏幕右边会有五种颜色,系统默认为黑色,触摸以选择画笔颜色;点击AD按钮,按屏幕提示点击红色+号对屏幕进行校准;点击右上角 CLEAR按钮对画板清屏
触摸实验默认使用了四组校准值,可以满足四个方向的画笔操作,在右边有五种颜色的选择,画笔大小默认为 9 个像素点
关于触摸屏的相关函数都写在LCD_Touch.c里,且其功能及传递参数的用途均有解释

程序提供了像素点大小为

   Width 5,Height 8    font8
   Width 7,Height 12    font12
   Width 11,Height 16    font16
   Width 14,Height 20    font20
   Width 17,Height24    font24

五种大小的字体库

  • 如果你需要不同大小不同字体的字符,可以根据资料中提供的字模提取软件生成自己想要的字库
  • 事实上你也可以Image2Lcd图片取模软件将不同大小不同格式的图片转换成数组数据,再用我们写好的函数显示出来
  • 资料中给出了所有控制芯片的数据手册供大家参考,如果你想更加深入的了解底层函数为什么这样写,就去数据手册看看吧!


EMAIL:3004517899@qq.com

电话:0755-83040712
QQ:3004517899
微信:扫下方二维码添加
Zsh.jpg
* 企业微信添加好友时软件无提示,我们无法及时通过客户好友申请。如长时间无响应,请用其他联系方式。

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证。

Call-of-duty-V2.jpg