树莓派Pico入门教程,开发环境的配置和程序的编写

时间:2024-10-21 11:53:01

目录

 

 

1.是,树莓派

1.1什么是树莓派Pico

1.2主要特性

2.与众不同的编程方式

2.1MicroPython

2.2 Mu的使用和软件的编写

2.3在树莓派Pico上使用MicroPython

2.4 实现一个PWM呼吸灯

3总结


 

 

 

1.是,树莓派

1.1什么是树莓派Pico

作为树莓派最新的产品,发布于2021年1月20日的树莓派Pico是基于树莓派那边自主研发的一款双核MCU  RP2040,这一个MCU提供了超低功耗、极低的 I/O 延迟,讲白了就是一款类似STM32系列的产品。

所以它的水平我也是很好奇,这次就买了试了一下,淘宝上买是37元左右,但最近也追涨到42元了。

1.2主要特性

RP2040 芯片是 7×7mm QFN-56 封装的,具体规格参数如下:
– 双核 Arm Cortex-M0 + @ 133MHz
– 芯片内置 264KB SRAM 和 2MB 的板载闪存
– 通过专用 QSPI 总线支持最高 16MB 的片外闪存
– DMA 控制器
– 30 个 GPIO 引脚,其中 4 个可用作模拟输入
– 2 个 UART、2 个 SPI 控制器和 2 个 I2C 控制器
– 16 个 PWM 通道
– USB 1.1 主机和设备支持
– 8 个树莓派可编程 I/O(PIO)状态机,用于自定义外围设备支持
– 支持 UF2 的 USB 大容量存储启动模式,用于拖放式编程

 

 

2.与众不同的编程方式

给树莓派Pico编写软件的过程真的很特别,虽然在STM32 Nucleo上也可以体会到,但它依然很有意思。具体怎么样,我们先从MicroPython了解下

2.1MicroPython

树莓派Pico支持两种语言,一种是Python一种是常用的C++,此Python和PC上所用的有点区别,名称为MicroPython,就是能在这类单片机上运行的精简高效优化后的Python3(下图用了谷歌翻译)

支持的有STM32,树莓派,pyboard,microBit等等,不过有个点是支持MicroPython的板子都挺贵的可能不太符合*。

 

通常来说,MicroPython使用MU Editor这个编辑器来编写并编译,不过和其他编辑器比如Arduino IDE比较,Mu这个实在很冷门,我在百度上找到的都是两年前的版本

在官方网站 /en/download 中可以下载到最新的版本,并且可以看出来这一个基于Qt的简单编辑器有着极佳的多平台特性

后面发现最新的就是2019年就有的1.1.0

第二种选择就是使用VSCODE,但是VSCODE也有个问题就是目前兼容性不佳,所以不考虑

还有一种选择是Thonny IDE,这同样是一个通用的友好又简单的界面,同样很适合用来编写代码

 

2.2 Mu的使用和软件的编写

打开后会提供几个选项,用于选择你要编写的代码运行的平台

随便写一个Hello World,然后点击运行,不过软件会先让你保存这一段代码

因为集成了Python所以Mu这个软件的使用很简单下载好就行,不用额外的配置Python环境,非常方便。

2.3在树莓派Pico上使用MicroPython

如果要在树莓派Pico上使用MicroPython那么要做两手准备

 

首先和许多8bit的MCU产品,比如说Arduino不一样的一点是,树莓派Pico有一个特性就是支持拖拽文件然后执行,为了能支持MicroPython我们要先把这个固件塞进去。

单独的下载地址:/download/u012388993/15501215?spm=1001.2014.3001.5501

 

 

 

连接树莓派到电脑上后,会出现一个大容量存储设备(当然并不大),你可以把编译好的文件拖过去,然后点按上面的按钮,这是一个“启动选择”按钮而不是RST复位按键

这样,就可以执行刚刚拷贝的这个文件了。然后我们的树莓派会被识别成一个串口的设备

 

之后我们要换用另一个IDE,Thonny Python IDE,这是官方推荐的的开发工具。

 

最新版本的Thonny Python IDE我放在这里:

/thonny/thonny/releases/download/v3.3.5/thonny-3.3.

 

如果下载慢可以试试我上传的文件:

/download/u012388993/15512650

 

安装上没有什么难处直接装Thonny Python IDE就可以,不用复杂的配置

 

目前最新版内置的是Python 3.7.9

 

2.4 实现一个PWM呼吸灯

PWM就是脉冲调制,具体在这里不做详细说明

 

Pico板载有一个LED灯,而这个LED灯就是接在Pin15上面,实现脉冲调制的代码如下

from machine import Pin, PWM
from time import sleep
pwm = PWM(Pin(25))  #Pico LED Pin

(1000)  #设置PWM的频率

while True:  #循环
    for duty in range(65025):  
     pwm.duty_u16(duty)  
     sleep(0.0001)   #延迟100us 
    for duty in range(65025, 0, -1):  
     pwm.duty_u16(duty)  
     sleep(0.0001)

也有更简单的,实现LED点灯,我就一笔带过了

​

from machine import Pin
led = Pin(25, )

()

可能此时会看不到如何设置串口号,以及软件的配置等等,这是因为这时候IDE是在一般模式而不是常规模式下,点击右上角的【切换至一般模式】

 

在切换到一般模式后可以看到任务栏出现了

 

 

然后再设置这边选择这个MicroPython(Raspberry Pi Pico)

完成配置后就可以点击绿三角运行

最终实现的效果

3总结

 

树莓派Pico的使用和以往我用的那些都有非常巨大的差别,最明显的一点就是树莓派Pico编程这块,在加载了MicroPython的固件后,不再是编译而是直接实现了实时的修改,这是让我觉得惊叹不已的,因为这意味着我可以随时的变动数值并且运行。

 

直接通过Python Shell就可以通过简单语句控制端口,这一点在以往的设备上是不被原生支持的,而且Python确实特别简单,可以说是非常不错的体验