树莓派PICO入门篇

开机

……树莓派PICO如何开机

概述

……PICO是个啥?有啥用

……仅仅能开机的配件

……如何确定我的项目需要哪些配件

搭建

……PICO编程语言及MiroPython简介

……写入MiroPython固件

……如何擦除固件

……查看PICO的虚拟端口号

……MicroPython库

……安装IDE——Thonny

……配置IDE:解释器选择、端口,调整窗口、字体及大小

……本地安装库文件的方法

PICO硬件

……PICO1:硬件参数、接口定义(单独开篇)

……PICO2:硬件参数、接口定义(单独开篇)

开发工具

……技术文档与工具(单独开篇)

开始

……编写第一个程序

……初阶VIP:入门VIP教程合集(30+篇 )

……成千上万的例程(1000+篇,持续更新中)

……无数实战项目  (500+篇,持续更新中


pico1.jpg

  如何开机?

  对于小白而言,开机最迫切。

  对于PICO只要连通电源就自动开机,指示灯都不会亮,这个过程是不可见的。对,此刻大家一起瞎!

  那怎么能看得见?

  这就需要装系统!对于PICO则叫写固件(查看如何写固件),比如写入MicroPython的UF2文件。

  今后就不要再说装系统了,显得外行。(尽管也可以装FreeRTOS等轻量级的,但这有点小学生研究核武器的不正经感了!)PICO主要是用来运行比传统OS系统“小”出天际的程序!

  这样就能玩了吗?

  NO,还不能,它现在还是傻子,不知道自己要干啥!你得告诉它!

  还要给它编写程序进去,它才知道自己要做什么!编程这个过程,也就是你在玩它了!

  如何编程呢?

  别急,你赶紧在电脑上(windows系统)装一个叫Thonny的IDE,你要在这里面编程和调试!

  怎么装Thonny?简单的很,点这里 直达教程,你会发现就像你天生会呼吸一样简单,不过还是建议先按顺序看完。

  做完以上的步骤,那么我们开始编程,开始搞它!

  别急,要想编程,咱们还得先全面认识下PICO,毕竟并没有上面这么简单!


  一、概述

  1.1、树莓派PICO是个啥?

  树莓派基金会于2021年1月21日对外发布了微型处理器级别的树莓派PICO开发板,与以往的树莓派旗舰型号(如树莓派5B/4B)、CM、Zero、PI400完全不同。

PICO通常不运行任何传统意义上的操作系统,而是用来执行相对于后者更简单的程序。

  PICO系列基于树莓派官方自研的RP2040、RP2350处理器(不排除后续推出的处理器),市面价格已经低至10元左右。廉价但不低劣,兼容性高,编程语言优秀且受众广泛,总之性能强大且功耗还低。所以一经上市就受到全球创客热捧,不亚于2012年树莓派第一代发布时的火爆。

  1.2、PICO可以用来做什么呢?

  作为控制器或者某个项目的主控或从机。

在微处理器领域,别的开发板可以做的,基本上都可以做!

核心就是便宜和功能强大!

比如:水质、温度、空气质量等传感世界的控制,设备自动化控制,智能家居产品,语音识别,智能门锁,智能玩具,航模控制等等。

  1.3、需要哪些配件才能运行?

  1.3.1、一条数据线

  具体是MICRO-USB还是USB-C数据线,取决于你的PICO板子。但这个数据线或者说下载器吧,建议购买优质一些的,以确保数据传输中保持稳定和完整性。

  1.3.2、面包板

  基于PICO的特性,它更主要是跟硬件打交道,完成特定任务或学习提升,都需要特定的电子元件或模块来完成,因此试验必不可少。而面包板将极大的节省试验者的试错成本和精力。

  面包板使用方法:http://www.shumeipai.net/thread-14366-1-1.html

  1.3.3、试验用的连接线

  面包板与PICO,PICO与电子元件、元件与元件等都需要用到连接线,常见的连接线,比如:杜邦线(母对母、母对公,公对公),有了杜邦线这三种基本就可以了。

  1.3.4、焊接

  如果不会焊接,可以选购已经焊接好排针的PICO和电子模块,但是建议学会焊接,毕竟玩硬件,不会焊接着实说不过去。可以选购40瓦~60瓦的电烙铁、焊锡丝。焊接技术以够用为目标的话,学起来并不难,重在多尝试,前期可以找一些废弃的设备或元件尝试,焊接前,充分预热电烙铁后就可以很顺利了,逐渐优化即可。

  1.3.5、上位机

  一般不需要额外购买,有电脑就行,只有树莓派也可以,用来编程并下载至PICO。

  总的说,PICO玩起来,要用到的配件很少很少,比树莓派旗舰系列,纯粹是奥特曼打杰瑞,降维打击。

1.4、如何确定我需要哪些配件?

  第一、你要实现什么目的或功能? 比如学习编程,比如做一些创意项目、控制项目等。

  第二、有了目的,就能确定需要什么外设。

比如学习编程,除了开机所必须的外设外,还要增加一些传感器模块等,具体什么传感器,常见的就好,尽量接口种类丰富一些,比如I2C、电平、模拟、I2S、UART以及DAC,还有无线通信、运动感知等等必学部分。

比如给宠物搭建一个智能化饲养箱,这就需要有针对性的选择配件了,比如温湿度传感器、继电器、灯、灯座、水泵,风扇、开关、蜂鸣器、液位模块等等。

比如花坛智能浇水项目,比如多个土壤湿度传感器,继电器,水泵等等。

  二、环境搭建

  2.1、PICO的编程语言

  PICO进行编程,官方推荐Python和C/C++。对于初学者而言,Python是非常不错的选择,入门简单又不落伍,如今诸多前沿科技,比如:数据科学和机器学习,代表是AI、智驾;还有自动化、嵌入式、数据分析、WEB开发、游戏开发等等,无所不及。当然,您要用其他语言也是可以的,看个人技术能力。

  2.2、MicroPython简介

  MicroPython是C语言编写的,将Python3这个编程语言完整的软件化实现,比如python编译器和运行时系统,常常被用在微控器方面。给用户提供一个交互式提示符来立即执行所有支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问底层硬件的模块。

  MicroPython创建者起初只是将MicroPython和Pyboard微控器一起发行,并支持大量的基于ARM系统结构的微控器,一发不可收拾,深受业内好评,得以广泛使用。创建者DamienGeorge 也因此备受关注,他是一位来自澳大利亚的物理学家和程序员。

  MicroPython已经在树莓派PICO、Arduino、ESP8266、ESP32、STM32等微控器主板上。

  2.3、给PICO安装支持MicroPython的固件

  2.3.1、下载UF2文件

  下载网址:http://www.shumeipai.net/resource.php?mod=category&catid=258

  选择对应型号,然后下载最新的即可。这个文件会不定期更新,名字会有变化,这很正常:

  2.3.2、PICO正确状态

  未装固件的PICO板子与电脑连通时,会出现一个盘符,表示未装固件,方便您写入文件,如下:

  2.3.3、安装固件:

用数据线将PICO和电脑连接起来,将提前下载好的UF2文件挪到PICO所在的盘符就行。快速演示下:

d20913cf49a49438e1ff50bb4f306032_MicroPython-640x360-v2.gif

  

具体步骤如下

将提前下载好的“RPI_PICO-20240602-v1.23.0.uf2”,复制到RPI-RO2(F:)内:

  (说明:UF2文件名和盘符不一定与文中相同,这是正常的。)

  复制或叫下载成功后,这个窗口(或盘符)会自动消失,这表示固件写入成功了。

  2.4、固件如何清除或重新安装呢?有两种方式。

  一种是,与电脑连通后,不显示盘符。

  在跟电脑连通前,按住PICO上的bootsel按键不松开;连通后,电脑上就会出现盘符。这种方式,只能用来重新装固件,就算你这次不装东西,下次不按住bootsel还是不会显示盘符。

  第二种则是彻底的清除固件。按住bootsel后,连通电脑,将flash_nuke.uf2文件复制到PICO盘符内,完成后,窗口也会自动消失。下次你不按bootsel就会显示盘符了。

  但是发现一个问题,用了这种方式,电脑也会不灵光,卡顿,无法操作,就像中毒一样,电脑必须得重启!所以非必要勿操作。也可能是个人所遇单体事件!

  flash_nuke.uf2下载地址:http://www.shumeipai.net/resource.php?mod=view&rid=3860

  2.5、PICO的虚拟串口端口号是多少?

  因为后面配置有用到,所以这里要知道怎么看端口号,电脑上进入“设备管理器”,找到端口,点开下面就有了,如下图,COMXX后面的XX数字就是端口号,每个人可能不同。

  如何确定这个就是PICO的端口呢?拔掉PICO板子如果端口号消失,重插又显示,那就确认是它了。

  2.6、MicroPython库之简介

  树莓派官方有专门提供RaspberryPi Pico Python SDK PDF文档。详细且全面的介绍了各种内置函数及用法和示例。当要编程时,就可以查询内置的各种功能的函数,进行功能实现。下载地址:http://www.shumeipai.net/resource.php?mod=view&rid=3030

  文档查询,使用PDF阅读器自带的文内搜索就好,很快就能找到:

  2.7、电脑安装Thonny——适合初学者的

  Thonny是第一个支持树莓派PICO主板的python编译器,又小型化轻量级,在windows/MAC/LINUX上都可以使用,广受欢迎,特别是初学者。

  2.7.1、下载地址https://thonny.org/

  下载对应的版本,光标移动到下面就可以弹出选择菜单。

  2.7.2、下载好软件之后,双击安装包安装进行安装,选择同意“I accept。。。”,安装路径可选可默认,创建桌面快捷键(createdesktop icon),点击install安装,点击FINISH完成。

  2.7.3、选择中文,LETS GO!继续:

  2.7.4、操作界面中文版:

  2.8.5、解释器选择、板子端口、字体及大小、窗口

  菜单栏找到“工具”-“选项”,会弹出对话框,然后选择“解释器”,选择“Raspberry Pi Pico”:

  端口选择PICO之前确认的端口即可。

  在同一个窗口,顺便把字体、大小也改一下,按自己需求来:

  窗口规划:

菜单栏找到“视窗”,勾选“文件”和“shell”,即可,这样后续操作更直观方便。

  

  2.8.6、在本地安装Raspberry Pi Pico SDK库

  本店安装好SDK库,能够自动补全代码,自动检测代码,非常实用且方便。菜单栏找到“工具”-“管理插件”,并打开:

  最后选择您的库所在文件夹即可。

2.9、第一个编程:Thonny编程,PICO板载LED灯闪烁

  官方SDK手册里的例子,代码下载:

blink.rar

  实现功能是让板载LED(PGIO25)闪烁即可。

  打开Thonny软件,“文件”—“新建”一个文件,并命名xxx.py,

代码复制进去

然后点击这个播放运行按钮,停止就点击左边的STOP红色按钮。

  若您要将程序保存在PICO上,并通电就自动运行,那么请点击“文件”—“另存为”,选择“Raspberry pi pico”,文件名则叫main.py,成功后只需要给PICO通电就可以自动运行,而不是必须通过电脑操作。

  如果程序保存在“此电脑”上,那么对于PICO来说就是在线模式,跟电脑断掉后,PICO就不会按照程序运行,因为“掉线了”!

  至此,树莓派PICO入门教程结束。

  3.0、认识硬件

随着时间推移,官方会推出PICO不同的版本,性能和接口都大概率会有差异,故此《入门篇》不做详细介绍,下面单独罗列出来。

PICO1专题:性能、接口定义、开发文件(点击查看)

PICO2专题性能、接口定义、开发文件(点击查看)


4.0、关于例程

这类板若没有丰富的例程,会很困难,起码费精力。本论坛从简单到复杂,会达到成千上万的例程,当然这是一个长期的过程,目前已经完成几百个。

4.1、例程合集直达(点此访问)

如下所示,从简单到复杂,有理论到实战,层层推进:

PICO+LED

PICO+LED+温湿度传感

PICO+LED+温湿度传感+OLED屏

PICO+LED+温湿度传感+OLED屏+继电器+风扇

PICO+LED+温湿度传感+OLED屏+继电器+风扇+无线联网+空调

PICO+LED+温湿度传感+OLED屏+继电器+风扇+无线联网+空调+下雨传感

PICO+LED+温湿度传感+OLED屏+继电器+风扇+无线联网+空调+下雨传感+电机+外网访问控制

…………

显然,这些实战项目仅限对于购买我们产品的客户开放!

4.2、实战项目

同样会由易到难,你拿到手就能使用,或者稍作改动就可以实现功能。

代码都会有丰富的解释,无论是学习还是使用,都很方便。

同样,这些实战项目仅限对于购买我们产品的客户开放!

4.3、初阶VIP 入门系列例程

第13课:样本,所有用户都可以回复查看:区间温度监控:PICO+LED灯+0.91寸OLED屏+有源蜂鸣器 

第1课、点亮树莓派PICO板载LED并闪烁

2点亮1个外部LED灯并闪烁

3读取轻触开关状态并打印出结果

4使用有源蜂鸣器模块并打印结果

5使用火焰传感器模块

6驱动灭火机器人风扇模块

7使用0.91寸OLED显示屏

8呼吸灯效果并演示如何使用自定义函数

9使用5个LED灯演示跑马灯效果

10Pico读取自带温度传感器数据

11驱动0.91寸OLED屏并显示温度

12PICO+0.91寸0LED+有源蜂鸣器模块:显示温度且超过30度报警

14火情监测报警系统:PICO+LED灯+有源蜂鸣器+0.91寸OLED屏+火焰传感器

15PICO+0.91寸OLED屏+火焰传感器模块:检测到火情屏幕闪烁并提示

16PICO+火焰传感器+蜂鸣器:监测到火情报警并显示"Fuck!Danger!RUN!" 

17PICO+0.91寸OLED屏监控:超过28度闪烁提示

18课、PICO+0.91寸OLED屏+3 LED:显示温度且超30度亮红灯低于15度亮蓝灯否则l绿灯

19PICO读取自带温度传感器,超过30度亮3个灯低于29亮1个灯否则2个灯亮

20PICO驱动5个LED灯的呼吸灯效果 

……


  附带、纸质手册和电子版的纠结

  原本也想搞一个几十页那种纸质手册,就像12年前树莓派论坛第一个搞出《树莓派使用手册》那样,国内首批几万十几万人的树莓派玩家绝大多数都来自我这里,想想已经人到中年了吧。

  言归正传,纸质版是不合适的,其中牵扯到很多网址、例程代码,纸质手册实在太不方便,索性搞成在线版,方便手机或电脑在线查看。这样不怕丢失,随时可以查看使用。