返回列表 发新帖我要提问本帖赏金: 40.00元(功能说明)

[树莓派资料] 树莓派Pi pico的开发体验

[复制链接]
 楼主| suncat0504 发表于 2022-4-16 09:33 | 显示全部楼层 |阅读模式
<
本帖最后由 suncat0504 于 2022-4-22 21:43 编辑

#申请原创#
@21小跑堂
因为想体验下树莓派python方式的开发,购得一块Raspberry Pi Pico开发板。昨天拿到手,便开始鼓捣,取得了初步经验,也走了一些弯路。记录下,聊以慰藉。
买的时候,连带着买了一块扩展板,连接在一起后的样子如下图。
21742625a1bce8bde9.png 65483625a1bd465e71.png
卖家提供了一些资料,基本上全英文的。对于有英文阅读障碍的我这个懒人而言,立马放弃,从网上找资料。根据资料介绍,放弃使用C语言开发的模式,因为配置开发环境实在是太麻烦了,本来就是想熟悉一下树莓派的开发模式而已,之前有过linux开发板的环境配制,也是很繁琐的。现在只想快速入手,所以直接就选择thonny这个开发工具来试验。从thonny官网下载了最新版的thonny IED,3.3.13版的。安装很简单,根据提示就行,记住安装过程中,勾选建立桌面图标的那个选项,否则对于Win10系统,装完再去找执行程序也是比较令人烦躁的事情。我安装完成后,启动thonny IED后,选择了中文方式的提示,结果程序调试过程中,提示信息是以汉语拼音方式提供的,哎,还不如英文提示呢。使用系统设置,也没能改掉,没办法卸载了重新安装、启动,选择英文方式提示。
在把开发板连接到PC的时候,先按住开发板上的那个“BOOTSEL”按钮,然后再接上USB电缆,之后计算机系统上会出现一个有问题的连接设备(不要管它)同时计算机里会出现一个名为“RIP-RP2”的优盘找到“pico_micropython_20210121.uf2”文件(这个文件是后面进行python开发的关键文件,我会提供下载),把这个文件拖曳到名为“RIP-RP2”的优盘上,很快这个优盘就会消失,同时在设备哦管理器中会出现一个“USB串行设备(COMxx)”。说明一下,“pico_micropython_20210121.uf2”这个文件拷贝到开发板上以后,就可以配合thonny ide进行pico的开发了。因为之前不懂,使用的是其他uf2文件,结果导致测试点灯程序的时候,使用无法使用micropython方式配置开发环境,浪费了好几个小时。网上提供的视频教程以及资料中都没有提及这一点,所以特意在这里给大家提个醒。
启动thonny IDE,
55548625a1beaa57f5.png
点击右下角文字区(显示MicroPython(Raspberry Pi Pico)的那串文字),弹出配置菜单画面
57668625a1bfb5944a.png
选择最底下的那个Configure interpreter...
40334625a1c08b1d5a.png
39298625a1c119cf89.png
Interpreter”选项栏中的第一个下拉列表中,出现的条目是配合开发板用的选项,这里因为是对Pi Picomicropythjon开发的,所以选择“MicroPython(Raspberry Pi Pico)”,如果你是用thonny开发ESP32ESP8266的,就选择对应的选择项。“Port”选项中选择设备管理器中连接开发板后出现的那个串口。选择“OK”保存退出。
如果设好配置、连接正常,thonny ideShell里面会出现以下提示:
MicroPython v1.13-290-g556ae7914 on 2021-01-21; Raspberry Pi Pico with RP2040

Type "help()" for more information.
>>>
此时是可以在>>>后面输入print语句测试,比如print(Hello! )”之类的简单输出测试。
40812625a1c21150cb.png
下面我们进行经典的点灯测试,测试LED。在代码区输入如下语句:
  1. from machine                import Pin,Timer
  2. from time                   import sleep_us

  3. print('Hello Pi pico')

  4. led = Pin(25, Pin.OUT)
  5. tim = Timer()

  6. print("Flash LED.")

  7. def tick(timer):
  8.     global led
  9.     led.toggle()

  10. tim.init(freq=2, mode=Timer.PERIODIC, callback=tick)
保存文件的时候,可以选择存入电脑,也可以选择存入开发板。
4699625a1c471fe2c.png
区别是,当存入开发板的时候,如果名字选择为main.py,意味着这个程序将作为开发板上电后要执行的程序。但存在电脑上,就只是一个普通文件了。
我这里选择存入开发板,并以main.py”作为文件名。
93980625a1c5b6cc69.png
因为我的开发板上已经存在同名文件,所以上面画面中还会看到main.py”已经存在。不用管他,覆盖式保存即可。
为了测试程序是否正常,可以执行工具栏中那个绿色三角标志的图标。如果程序没有问题,会正常被编译、运行。
53510625a1c685fa1b.png
为了验证开发板上电后是否会运行这个main.py,我们可以从开发板上拔除USB电缆,再重新插上,看LED是否闪烁。我这里因为有扩展板,只需要按下扩展板上的“RUN”按钮即可。
这里再重复强调一下,如果开发配置选择的是CircuiPython(generic)”模式,
19483625a1c75d2ca6.png
编译程序的时候,会报错,说找不到machine这个模块,一定要注意,选择“MicroPython(Raspberry Pi Pico)”模式。
到此我们就把用thonny IDE开发Pi Pico开发板的过程搞通了。下面说个题外话,就是如何用Arduimo开发Raspberry Pi PicoArduino的安装我就略过了。在Arduino的开发板管理中,查找Arduino Mbed Os RP2040 Boards并安装,可以使用“RP2040”关键字查找。
76782625a1c883df0e.png
之后选择Pico开发板
52104625a1c94c4ebc.png
在代码区输入以下代码:
  1. void setup() {
  2.   // initialize digital pin LED_BUILTIN as an output.
  3.   pinMode(25, OUTPUT);
  4. }

  5. // the loop function runs over and over again forever
  6. void loop() {
  7.   digitalWrite(25, HIGH);   // turn the LED on (HIGH is the voltage level)
  8.   delay(500);                       // wait for a second
  9.   digitalWrite(25, LOW);    // turn the LED off by making the voltage LOW
  10.   delay(500);                       // wait for a second
  11. }
断开开发板和电脑的连接,按住开发板的“BOOTSEL”按钮,然后再接上USB电缆。什么也不要做。
编译并上传刚才的代码,
11591625a1cb657644.png
不出意外的话,你现在是不是已经看到开发板上的LED又开始闪烁了?
那么你可能会产生疑问了,这和之前thonny开发结果的有什么不同?在thonny开发中,我们使用main.py作为文件保存在开发板中,开发板上电后,启动系统,然后执行main.py,所以LED会闪烁。而现在使用的Arduino开发出来的程序,是作为开发板一上电后就立即执行的程序,不是通过其他程序调用的。这是本质区别。你可以理解为向“RIP-RP2”的优盘直接烧入blink.uf2文件,执行程序。我的理解就是一个在操作系统下执行程序,一个是直接运行程序。
下面附上一个LED闪烁的程序以及micropython开发用的程序。UF2文件,直接拷贝到“RIP-RP2”优盘上即可,操作方式已经在前面叙述。
Raspberry_Pi_Pico.zip (177.34 KB, 下载次数: 3)




打赏榜单

21小跑堂 打赏了 40.00 元 2022-04-21
理由:恭喜通过原创文章审核!请多多加油哦!

评论

树莓派Pico开发入门原创,对新手入门具有一定的经验借鉴,所涉知识点浅显易懂,网络对其描述较为丰富,适合原创。  发表于 2022-4-21 16:08
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:大连伊飞特信息技术有限公司软件工程师
简介:本人于1993年毕业于大连理工大学。毕业后从事单片机开发工作5年,之后转入软件开发工作至今。

158

主题

4504

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部