RP2350-Touch-AMOLED-1.43 使用教程

说明

产品概述

RP2350-Touch-AMOLED-1.43 是一款微雪(Waveshare)设计的低成本,高性能的微控制器开发板。在较小的板型下,板载了1.69英寸电容触摸LCD屏、锂电池充电芯片、六轴传感器(三轴加速度计与三轴陀螺仪)、RTC、蜂鸣器等外设,方便开发并嵌入应用到产品中。

产品特性

  • 独特的双核、双架构,搭载双核 ARM Cortex-M33 处理器和双核 Hazard3 RISC-V 处理器,时钟运行频率高达 150MHz
  • 内置 520KB SRAM 和 16MB 片上 Flash
  • 板载 1.43 英寸 AMOLED 显示屏,分辨率 466 × 466,支持 16.7M 色彩
  • AMOLED 屏幕显示接口为 SPI 接口,电容触摸接口为 I2C 接口,支持中断输出
  • 板载 QMI8658 六轴惯性测量单元 (3 轴加速度、3 轴陀螺仪),支持运动姿态检测、计步等功能
  • 板载 PCF85063 RTC 芯片,预留 SH1.0 电池插槽 (支持充电),便于 RTC 功能的实现
  • 板载 RST、BOOT 侧边按钮
  • 板载 3.7V MX1.25 锂电池充放电接口
  • 板载 Micro SD 卡槽,支持外接 Micro SD 卡存储图片或文件
  • 板载 USB Type-C 接口,可用于供电、下载及调试,开发更便捷
  • 引出 UART 和 I2C SH1.0 4PIN 接口,并预留 2 × 14PIN 1.27mm 间距的接口
  • 可选配 CNC 精美外壳,标注清晰,美观便携
  • USB1.1 主机和设备支持
  • 支持低功耗睡眠和休眠模式
  • 温度传感器
  • 精确的片上时钟和定时器
  • 片上加速浮点库

产品参数

AMOLED参数
显示面板AMOLED显示尺寸1.43inch
显示分辨率466(H)RGB x 466(V)显示颜色16.7M
显示亮度350cd/m2对比度60000:1
通信接口SPI驱动ICCO5300
触控支持触控ICFT6146


IMU参数
传感器名称QMI8658
加速度计特性分辨率:16 位
量程 (可选):±2、±4、±8、±16g
陀螺仪特性分辨率:16 位
量程 (可选):±16、±32、±64、±128、±256、±512、 ±1024、±2048°/sec

引脚分布


尺寸图



Pico快速上手

固件下载


MicroPython固件下载



C_Blink固件下载


基础介绍

Raspberry Pi Pico的基础介绍

MicroPython系列

安装Thonny IDE

为了方便在电脑上使用MicroPython开发Pico/Pico2板,建议下载Thonny IDE


  • 配置Micrpython环境及选择Pico/Pico2端口
    • 先将Pico/Pico2接入电脑,左键点击Thonny右下角的配置环境选项--》选择configture interpreter
    • 在弹出的窗口栏中选择MicroPython(Raspberry Pi Pico),同时选择对应的端口



烧录固件

  • 点击ok后返回到Thonny主界面,下载对应的固件库并烧录到设备中,然后点击停止按钮,在Shell窗口中即可显示当前使用到的环境
  • 注意:烧录Micropython官方提供的Pico2固件可能导致无法识别设备,请使用下方或程序包中的固件
  • Pico/Pico2在windows下载固件库方法: 按住BOOT键后连接电脑后,松开BOOT键,电脑会出现一个可移动磁盘,将固件库复制进去即可
  • RP2040/RP2350在windows下载固件库方法: 连接电脑后,同时按下BOOT键跟RESET键,先松开RESET键再松开BOOT键,电脑会出现一个可移动磁盘,将固件库复制进去即可(用Pico/Pico2的方式也可以)


讲解视频

【MicroPython】machine.Pin类函数详解
【MicroPython】machine.PWM类函数详解
【MicroPython】machine.ADC类函数详解
【MicroPython】machine.UART类函数详解
【MicroPython】machine.I2C类函数详解
【MicroPython】machine.SPI类函数详解
【MicroPython】rp2.StateMachine类函数详解

C/C++系列

对于 C/C++,建议使用 Pico VS Code 进行开发,这是一款 Microsoft Visual Studio Code 扩展,旨在让您在为 Raspberry Pi Pico 系列开发板创建、开发和调试项目时更加轻松。无论您是初学者还是经验丰富的专业人士,此工具都可以帮助您自信而轻松地进行 Pico 开发。下面我们介绍如何安装该扩展并使用。

安装VSCode

  1. 首先,点击下载 pico-vscode 程序包,解压并打开程序包,双击安装 VSCode

    注意:如果已安装 vscode 注意检查版本是否为 v1.87.0 或更高版本


安装扩展

  1. 点击扩展,选择从 VSIX 安装

  2. 选择 vsix 后缀的软件包,点击安装

  3. 随后 vscode 会自动安装 raspberry-pi-pico 及其依赖扩展,可以点击刷新查看安装进度

  4. 右下角显示完成安装,关闭 vscode

配置扩展

  1. 打开目录 C:\Users\用户名,将整个 .pico-sdk 拷贝至该目录

  2. 拷贝完成

  3. 打开 vscode,对 Raspberry Pi Pico 扩展中各个路径进行配置

    配置如下:
    Cmake Path:
    ${HOME}/.pico-sdk/cmake/v3.28.6/bin/cmake.exe
    
    Git Path:
    ${HOME}/.pico-sdk/git/cmd/git.exe    
    
    Ninja Path:
    ${HOME}/.pico-sdk/ninja/v1.12.1/ninja.exe
    
    Python3 Path:
    ${HOME}/.pico-sdk/python/3.12.1/python.exe             
    

新建工程

  1. 配置完成,测试新建工程,输入工程名、选择路径后点击 Creat 创建工程
    测试官方示例,可以点击工程名旁的 Example 进行选择

  2. 创建工程成功

  3. 选择SDK版本

  4. 选择 Yes 进行高级配置

  5. 选择交叉编译链,13.2.Rel1 适用 ARM 核,RISCV.13.3 适用 RISCV 核,这里根据您的需求任意选择其中一个即可

  6. CMake 版本选择 Default(前面配置的路径)

  7. Ninja 版本选择 Default

  8. 选择开发板

  9. 点击 Complie 进行编译

  10. 成功编译出 uf2 格式文件即可

导入工程

  1. 导入工程的 Cmake 文件不能有中文(包括注释),否则可能导致导入失败
  2. 导入自己的工程需要在 Cmake 文件中加一行代码,才能正常切换 pico 和 pico2,否则即使选择 pico2,编译得到的固件仍是适用于 pico 的

    set(PICO_BOARD pico CACHE STRING "Board type")
    

更新扩展

  1. 离线包中的扩展版本为0.15.2,安装完成后,您也可以选择更新至最新版本

Arduino IDE 系列

安装Arduino IDE

  1. 首先到Arduino官网下载Arduino IDE的安装包。

  2. 这里选择仅下载就可以了。

  3. 下载完成后,点击安装。

    注意:安装过程中会提示你安装驱动,我们点击安装即可

Arduino IDE中文界面

  1. 第一次安装完成后,打开Arduino IDE全是英文界面,我们可以在File>Preferences切换成简体中文。

  2. 在Language里面选择简体中文,点击OK。

在Arduino IDE中安装Arduino-Pico Core

  1. 打开Arduino IDE,点击左上角的文件,选择首选项

  2. 在附加开发板管理器网址中添加如下链接,然后点击OK
    https://github.com/earlephilhower/arduino-pico/releases/download/4.0.2/package_rp2040_index.json


    注意:如果您已经有ESP32板URL,您可以使用逗号分隔 URL,如下所示:

    https://dl.espressif.com/dl/package_esp32_index.json,https://github.com/earlephilhower/arduino-pico/releases/download/4.0.2/package_rp2040_index.json
  3. 点击工具>开发板>开发板管理器>搜索pico,由于我的电脑已经安装过了,所以显示已安装


国内用户
  • 因为网络原因,国内用户连接github并不稳定,我们另外提供了一份安装包,可以跳过在线的过程
  • 若已经成功配置了pico环境,可以直接跳过本章
  1. 下载rp2040压缩包,将解压的rp2040文件夹复制到如下路径下
    C:\Users\[username]\AppData\Local\Arduino15\packages


    注意:将里面用户名:[username]替换成自己的用户名

第一次上传程序

  1. 按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。

  2. 下载程序,打开arduino\PWM\D1-LED路径下的D1-LED.ino
  3. 点击工具>端口,记住已有的COM,不需要点击这个COM(不同电脑显示的COM不一样,记住自己电脑上已有的COM)

  4. 用USB线将驱动板和计算机连接起来,再点击工具>端口,第一次连接选择uf2 Board,上传完成后,再次连接就会多出一个COM口

  5. 点击工具>开发板>Raspberry Pi Pico>Raspberry Pi Pico或Raspberry Pi Pico 2

    Arduono-Raspberrypi pico.png
  6. 设置完成后,点击向右箭头上传将程序

  • 如果期间遇到了问题,需要重新安装或者更换Arduino IDE版本时,卸载Arduino IDE需要卸载干净,卸载软件后需要手动删除C:\Users\[name]\AppData\Local\Arduino15这个文件夹内的所有内容(需要显示隐藏文件才能看到) 再重新安装

开源例程

MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
Arduino官方C/C++示例程序 (github)


示例程序

C环境

目录结构

├── CMakeLists.txt
├── example_auto_set_url.cmake
├── examples # 示例程序
│   ├── CMakeLists.txt
│   ├── amoled # 测试AMOLED的示例
│   │   ├── CMakeLists.txt
│   │   ├── amoled_flush_rgb 
│   │   └── amoled_touch 
│   ├── battery_read # 串口打印电池电压的示例
│   ├── hello_world # 打印 hello world 的示例
│   │   ├── CMakeLists.txt
│   │   ├── serial
│   │   └── usb
│   ├── lvgl # 一些使用LVGL的示例
│   │   ├── CMakeLists.txt
│   │   ├── factory # 出厂自带的程序
│   │   ├── lv_port # LVGL对接硬件的源文件
│   │   ├── lvgl_battery # 使用LVGL显示电池电压数值的示例
│   │   ├── lvgl_brightness # 使用LVGL控制屏幕亮度的示例
│   │   ├── lvgl_example # 运行LVGL自带Demo的示例
│   │   ├── lvgl_image # 使用LVGL显示图片的示例
│   │   ├── lvgl_pcf85063 # 使用LVGL显示时间和日期的示例
│   │   └── lvgl_qmi8658 # 使用LVGL显示IMU数据的示例
│   ├── qmi8658_raw_out # 使用串口打印IMU数据的示例
│   ├── rtc_pcf85063 # 使用串口打印时间、日期的示例
│   └── sd_card_spi # 测试SD Card读写的示例
├── libraries # 库文件
│   ├── CMakeLists.txt
│   ├── bsp # 硬件相关的库
│   ├── lvgl # LVGL库
│   └── no-OS-FatFS-SD-SDIO-SPI-RPi-Pico # SD Card 相关的库
├── pico_extras_import_optional.cmake
└── pico_sdk_import.cmake

编译

如果使用的是VSCode 的 Raspberry Pi Pico插件

  • 导入工程, 选择工程目录
  • 点击Comple编译进行编译

如果使用的是Ubuntu

mkdir build
cd build
cmake ..
make -j8

编译的固件

  • 编译完完成后会生成 .uf2 文件,在目录 build/examples

烧录固件

  • 按住板子的BOOT按键,通过 Type-C 线将板子接到电脑的 USB 接口,然后松开按键,电脑会将识别为一个可移动盘,最后将编译生成的 .uf2 格式的文件复制到可移动盘即可。

新建工程

  • 下面我们以新建名为 lvgl_test 的工程为例。
  • 在 examples/lvgl 目录下新建一个文件夹 lvgl_test ,在这个文件夹上新建 CMakeLists.txt 和 main.c 文件。
  • CMakeLists.txt 文件的内容为
add_executable(lvgl_test
    main.c
    ../lv_port/lv_port.c
    )

pico_enable_stdio_usb(lvgl_test 1)
pico_enable_stdio_uart(lvgl_test 0)

# pull in common dependencies
target_link_libraries(lvgl_test 
    pico_stdlib
    bsp
    lvgl
    lvgl::demos)

# create map/bin/hex/uf2 file etc.
pico_add_extra_outputs(lvgl_test)
  • main.c 文件的内容为
#include <stdio.h>
#include "pico/stdlib.h"
#include "bsp_i2c.h"
#include "../lv_port/lv_port.h"
#include "demos/lv_demos.h"
#include "hardware/clocks.h"
#include "bsp_battery.h"
#include "bsp_lcd_brightness.h"

int main()
{
    stdio_init_all();
    bsp_battery_init(100);

    bsp_i2c_init();
    lv_port_init();
    bsp_lcd_brightness_init();
    bsp_lcd_brightness_set(50);

    // lv_demo_music();
    lv_demo_widgets();
    while (true)
    {
        lv_timer_handler();
        sleep_ms(1);
    }
}
  • 在 examples/lvgl 目录下的 CMakeLists.txt 最后加上。
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/lvgl_test)
  • 重新编译,build/examples/lvgl 会新增一个文件夹 lvgl_test,里面有编译生成的 .uf2 格式的文件。

MicroPython环境

目录结构

├── examples
│   ├── imu_test.py # 打印imu数据的示例
│   ├── oled_test.py # 测试AMOLED的示例
│   ├── oled_touch.py # 同时测试amoled和touch的示例
│   ├── rtc_test.py # 打印时间和日期的示例
│   └── touch_test.py # 测试touch的示例,打印坐标
├── firmware
│   └── RP2350-Touch-AMOLED-1.43.uf2 # MicroPython的固件
└── libraries
    ├── amoled_1inch43.py # 1.43寸屏幕相关的驱动,包括显示和触摸
    ├── imu.py # IMU相关的驱动
    └── rtc.py # RTC相关的驱动

烧录固件

  • 按住板子的BOOT按键,通过 Type-C 线将板子接到电脑的 USB 接口,然后松开按键,电脑会将识别为一个可移动盘,最后将 firmware/RP2350-Touch-LCD-2.8.uf2 文件复制到可移动盘即可。

上传libraries

  • 打开 Thonny ,点击 Stop/Restart backend ,下面的shell出现下图的信息则说明板子连接成功。
  • 选择 libraries ,鼠标右键-->Upload to / ,等待上传完成

运行

  • 打开 examples 里面任意一个 .py 点击 Run current script, 程序就开始运行了

资料

配套资料

示例程序

原理图

数据手册

官方资料

树莓派官方文档

树莓派开源例程

开发软件

FAQ

问题:引脚的焊盘间距是多少?

2.154mm


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841