1.47inch Touch LCD

来自Waveshare Wiki
跳转至: 导航搜索
1.47inch Touch LCD
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
显示尺寸 1.47 英寸
分辨率 172×320
' 无特性,不解释
' 无特性,不解释
接口 I2C SPI

产品介绍

产品简介

1.47inch Touch LCD 配备172 × 320分辨率的电容触摸屏,支持13PIN端子接口或18PIN FPC插槽接入,并提供树莓派、ESP32、Pico、Arduino等的示例资料。

产品特性

  • 172 × 320 分辨率,262K 彩色,能清晰地显示彩色图片
  • 触摸屏透过率高,响应快,寿命长
  • 内置 JD9853 驱动芯片和 AXS5106L 电容触控芯片,分别使用 SPI 和 I2C 接口通信,不占用过多接口引脚资源
  • 引出 LCD 控制接口,可以选择 13PIN 端子接口或 18PIN 的 FPC 插槽接入显示屏
  • 板载电平转换芯片,支持 3.3V/5V 两种工作电平

接口介绍

LCD引脚 引脚介绍
VCC 电源正 (3.3V / 5V 电源输入)
GND 电源地
MISO SPI 通信 MISO 引脚
MOSI SPI 通信 MOSI 引脚
SCLK SPI 通信 SCLK 引脚
LCD_CS LCD 的片选引脚,低电平有效
LCD_DC LCD 的数据/命令引脚,低电平表示命令,高电平表示数据
LCD_RST LCD 的复位引脚,低电平有效
LCD_BL LCD 的背光引脚
TP_SDA TP 的数据引脚
TP_SCL TP 的时钟引脚
TP_INT TP 的中断引脚
TP_RST TP 的复位引脚,低电平有效

产品尺寸

1.47inch-Touch-LCD-details-size.jpg

产品参数

(请保证供电电压和逻辑电压一致,否则会导致无法正常工作)

参数名称 参数
供电电压 3.3V/5V
屏幕类型 IPS
通信接口 Display :SPI
Touch :I2C
控制芯片 Display :JD9853
Touch :AXS5106L
分辨率 172(H) x 320(V)
显示尺寸 17.63 (H) x 32.83 (V) mm
产品尺寸 22.05(H)x 41.69(V) mm


树莓派下使用

硬件连接

  • 13PIN 杜邦线接口
LCD引脚 树莓派(BCM)
VCC 3.3V
GND GND
MISO 9/NC
MOSI 10
SCLK 11
LCD_CS 8
LCD_DC 25
LCD_RST 27
LCD_BL 18
TP_SDA 2
TP_SCL 3
TP_INT 4
TP_RST 17

开启SPI与I2C接口

  • 打开树莓派终端,输入以下指令进入配置界面:
sudo raspi-config
  • 选择Interfacing Options -> SPI -> Yes 开启SPI接口

1.47inch Touch LCD Pi 1.png

1.47inch Touch LCD Pi 2.png

1.47inch Touch LCD Pi 3.png

  • 继续进入配置界面:
sudo raspi-config
  • 选择Interfacing Options -> I2C -> Yes 开启I2C接口

1.47inch Touch LCD Pi 4.png

1.47inch Touch LCD Pi 5.png

1.47inch Touch LCD Pi 6.png

  • 重启树莓派
sudo reboot
  • 检查 /boot/config.txt,可以看到'dtparam=i2c_arm=on' 和 'dtparam=spi=on' 已被写入
more  /boot/config.txt

2.8inch Capacitive Touch LCD RaspberryPi explain 6.png

  • 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常
ls /dev/spi* 

1.47inch Touch LCD Pi 7.png

Python 环境

安装库文件

  • 安装库
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo apt-get install python3-spidev

示例操作

  • 下载示例程序
cd
wget https://files.waveshare.net/wiki/1.47inch%20Touch%20LCD/1.47inch_Touch_LCD_Demo_Pi.zip
  • (可选,使用过解压指令可跳过这一步)安装解压环境
sudo apt-get install unzip
  • 进入文件位置,执行解压指令
unzip 1.47inch_Touch_LCD_Demo_Pi.zip -d ./1.47inch_Touch_LCD
  • 进入 Python 文件夹中
cd 1.47inch_Touch_LCD/Python
  • 运行示例程序即可在屏幕上显示3张图片,显示完即进入画板功能
sudo python 1.47inch_Touch_LCD.py 

C 环境

安装库文件

  • 安装库
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
  • 运行gpio -v会出现版本,如果没有出现说明安装出错
  • 下载示例文件
  • 进入文件目录,运行程序

示例操作

  • 下载示例程序
cd
wget https://files.waveshare.net/wiki/1.47inch%20Touch%20LCD/1.47inch_Touch_LCD_Demo_Pi.zip
  • (可选,使用过解压指令可跳过这一步)安装解压环境
sudo apt-get install unzip
  • 进入文件位置,执行解压指令
unzip 1.47inch_Touch_LCD_Demo_Pi.zip -d ./1.47inch_Touch_LCD
  • 进入 C 文件夹中
cd 1.47inch_Touch_LCD/C
  • 清除编译文件,重新编译
sudo make clean
sudo make -j
  • 编译成功,运行示例即可在屏幕上进行RGB刷屏,显示完即进入画板功能
sudo ./main

树莓派Pico下使用

硬件连接

  • 13PIN 杜邦线接口
LCD引脚 Raspberry Pi Pico
VCC 3.3V
GND GND
MISO GP12/NC
MOSI GP11
SCLK GP10
LCD_CS GP9
LCD_DC GP14
LCD_RST GP13
LCD_BL GP15
TP_SDA GP6
TP_SCL GP7
TP_INT GP8
TP_RST GP5

环境搭建

Python 环境示例程序

  • 解压示例文件,打开 Thonny
  • 打开示例文件,路径为:1.47inch_Touch_LCD_Demo_Pico/Python/1.47inch_Touch_LCD.py

1.47inch Touch LCD Pico 1.png

  • 运行程序即可在屏幕上实现画板功能

1.47inch Touch LCD Pico 2.png

  • 若需上电自动运行程序,请将文件名修改为 main.py

1.47inch Touch LCD Pico 3.png

ESP32 下使用

(请注意,以下示例通过ESP32S3运行,其他型号的ESP32请自行调整引脚定义)

硬件连接

  • 13PIN 杜邦线接口
LCD引脚 ESP32S3
VCC 3.3V
GND GND
MISO 42/NC
MOSI 2
SCLK 1
SD_CS 38
LCD_CS 39
LCD_DC 41
LCD_RST 40
LCD_BL 6
TP_SDA 15
TP_SCL 7
TP_INT 17
TP_RST 16

Arduino环境

下载和安装 Arduino IDE

  • 点击访问Arduino官网,选择对应的系统和系统位数下载。
    ESP32-S3-AMOLED-1.91-Ar-software-01.png
  • 运行安装程序,全部默认安装即可。

安装 Arduino-ESP32

  • ESP32相关主板在Arduino IDE使用,须先安装“Arduino-ESP32板”库
  • 国内部分区域安装,一般推荐“离线安装”, 若离线安装失败,则使用“在线安装
  • 安装 Arduino-ESP32教程,详见:Arduino 板管理教程

安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装离线安装
    对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 库安装教程,详见:Arduino 库管理教程
库名称 说明 版本 库安装要求
esp_lcd_touch_axs5106 触摸驱动库 --- “离线”安装
esp_lcd_jd9853 LCD驱动库 --- “离线”安装
lvgl 图形库 v8.4.0 “离线”安装

运行第一个Arduino程序

示例程序

lvgl_example

【程序说明】


本示例演示了使用 1.47inch Touch LCD 运行lvgl示例程序

【硬件连接】


  • 将板子接入电脑

【代码分析】


i2c_bus_init();         // 初始化I2C总线
spi_bus_init();         // 初始化SPI总线
display_init();          // 初始化显示屏驱动
touch_init();           // 初始化触摸屏控制器

brightness_init();       // 初始化背光亮度控制模块
brightness_set_level(20); // 设置当前亮度为20%(取值范围0-100)

lv_port_init();          // 初始化LVGL图形库运行环境(绑定硬件显示驱动)

if (lvgl_lock(-1)) {     // 获取图形库互斥锁(防止多线程并发访问)
    lv_demo_widgets();    // 初始化lv_demo
    lvgl_unlock();         // 释放图形库互斥锁
}

【运行效果】


1.47inch Touch LCD ESP32S3 1.jpg



ESP-IDF 环境

环境搭建

示例程序

lvgl_exampla

【程序说明】


本示例演示了ESP32S3在ESP-IDF环境下驱动 1.47inch Touch LCD 运行lvgl示例程序

【硬件连接】


  • 将板子接入电脑

【代码分析】


    i2c_bus_init(); // 初始化I2C
    spi_bus_init(); // 初始化SPI
    display_init(); // 初始化显示屏
    touch_init();   // 初始化触摸屏驱动
    brightness_init(); // 初始化背光控制模块
    brightness_set_level(20); // 设置背光亮度为20%(支持0-100级调节)
    lv_port_init(); // 初始化LVGL
    if (lvgl_lock(-1)) // 获取LVGL线程锁(-1表示阻塞等待),确保多线程安全
    {
        // lv_demo_benchmark();
        // lv_demo_music();
        lv_demo_widgets();  // 启动LVGL的Demo
        lvgl_unlock();  // 释放LVGL线程锁
    }

【运行效果】


1.47inch Touch LCD ESP32S3 1.jpg



lvgl_brightness

【程序说明】


本示例演示了ESP32S3在ESP-IDF环境下驱动1.47inch Touch LCD 运行lvgl并能实现用触摸屏控制屏幕亮度。

【硬件连接】


  • 将板子接入电脑

【代码分析】


    i2c_bus_init(); // 初始化I2C
    spi_bus_init(); // 初始化SPI
    display_init(); // 初始化显示屏
    touch_init();   // 初始化触摸屏驱动
    brightness_init(); // 初始化背光控制模块
    brightness_set_level(20); // 设置背光亮度为20%(支持0-100级调节)
    lv_port_init(); // 初始化LVGL
    if (lvgl_lock(-1)) // 获取LVGL线程锁(-1表示阻塞等待),确保多线程安全
    {
        // lv_demo_benchmark();
        // lv_demo_music();
        // lv_demo_widgets();
        lvgl_brightness_ui_init(lv_scr_act()); // 初始化ui
        lvgl_unlock();  // 释放LVGL线程锁
    }

【运行效果】


1.47inch Touch LCD ESP32S3 2.jpg



Arduino UNO下使用

硬件连接

  • 13PIN 杜邦线接口
LCD引脚 Arduino
VCC 5V
GND GND
MISO 12/NC
MOSI 11
SCLK 13
LCD_CS 10
LCD_DC 7
LCD_RST 8
LCD_BL 9
TP_SDA SDA
TP_SCL SCL
TP_INT 3
TP_RST 4

安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装离线安装
    对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 库安装教程,详见:Arduino 库管理教程
库名称 说明 库安装要求
GFX_Library_for_Arduino LCD驱动库 “在线”或“离线”安装
axs5106l_device Touch驱动库 “离线”安装

示例程序

  • 下载示例程序,并解压
  • 进入示例文件 1.47inch_Touch_LCD_Demo_Arduino/1.47inch_Touch_LCD.ino 中,双击 1.47inch_Touch_LCD.ino 打开示例

1.47inch Touch LCD Arduino 1.png

  • 选择设备与端口,编译并烧录程序

1.47inch Touch LCD Arduino 2.png

  • 烧录成功进入画板功能

FAQ

请注意板子的GPIO电平是否与产品的供电电压一致!


技术支持

联系人:谭工
EMAIL:3004149899@qq.com
QQ:3004149899
微信:扫下方二维码添加
谭工企业微信联系二维码.png

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