模板: Rotation for Pico use

来自Waveshare Wiki
跳转至: 导航搜索

提供Python、C例程

Pico 快速上手

硬件连接

您可以对照以下表格连线。

Pico连接引脚对应关系
Rotation Pico 功能
VCC 3.3V 电源输入
GND GND 电源地
SW GP22 读取编码器的按键是否按下
SIB GP27 与SIA组合判断编码器的旋转方向
SIA GP26 与SIB组合判断编码器的旋转方向

Rotation Pico 2.jpg

环境设置

正在整理
请参照树莓派官方网站的Pico专题:https://www.raspberrypi.org/documentation/pico/getting-started/

程序下载

打开树莓派终端,执行以下命令:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://www.waveshare.net/w/upload/a/a8/Rotation-Sensor-code.7z
7z x Rotation-Sensor-code.7z -o./Rotation-Sensor-code
cd ~/Rotation-Sensor-code
cd Pico/c/build/

例程使用

C部分

  • 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需用户自行判断。

进行编译,请确保在c目录:

cd ~/Rotation-Sensor-code/Pico/c/

在文件夹中创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可

cd build
export PICO_SDK_PATH=../../pico-sdk
(注意:务必写对你自己的SDK所在路径)

执行cmake自动生成Makefile文件

cmake ..

执行make生成可执行文件,第一次编译时间比较久

make -j9

编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到树莓派的USB接口,然后松开按键。接入之后,树莓派会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的main.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。

cp main.uf2 /media/pi/RPI-RP2/

Python部分

windows环境下的使用

  • 1.按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
  • 2.将python目录中rp2-pico-20210418-v1.15.uf2 文件复制到识别的可移动盘(RPI-RP2)中
  • 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
  • 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口

Pico-lcd-0.96-img-config.png
本例程提供了一个程序:

  • 5.文件->打开->Rotation Sensor.py,点击运行即可,如下图所示:

Pico-lcd-0.96-img-run.png

树莓派环境下的使用

  • 1.刷固件的过程与Windows上一样,你可以选择在PC或者树莓派上将rp2-pico-20210418-v1.15.uf2 文件拷入pico中。
  • 2.在树莓派山打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息

以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
Pico-lcd-0.96-img-config2.png
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE

sudo apt upgrade thonny

3.点击File->Open...->python/Rotation Sensor.py,运行脚本即可

现象

C

打开SSCOM,连接Pico,旋转编码器,即可看到传感器的状态变化。
Rotation Pico 1.jpg

python

可直接通过Thonny查看传感器状态。
Rotation Pico Python 1.jpg