树莓派PICO入门篇
开机
概述
……仅仅能开机的配件
搭建
……如何擦除固件
PICO硬件
……PICO1:硬件参数、接口定义(单独开篇)
……PICO2:硬件参数、接口定义(单独开篇)
开发工具
……技术文档与工具(单独开篇)
开始
……编写第一个程序
……初阶VIP:入门VIP教程合集(30+篇 )
……成千上万的例程(1000+篇,持续更新中)
……无数实战项目 (500+篇,持续更新中)
对于小白而言,开机最迫切。
对于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所在的盘符就行。快速演示下:
具体步骤如下:
将提前下载好的“RPI_PICO-20240602-v1.23.0.uf2”,复制到RPI-RO2(F:)内:
复制或叫下载成功后,这个窗口(或盘符)会自动消失,这表示固件写入成功了。
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手册里的例子,代码下载:
实现功能是让板载LED(PGIO25)闪烁即可。
打开Thonny软件,“文件”—“新建”一个文件,并命名xxx.py,
代码复制进去
然后点击这个播放运行按钮,停止就点击左边的STOP红色按钮。
若您要将程序保存在PICO上,并通电就自动运行,那么请点击“文件”—“另存为”,选择“Raspberry pi pico”,文件名则叫main.py,成功后只需要给PICO通电就可以自动运行,而不是必须通过电脑操作。
如果程序保存在“此电脑”上,那么对于PICO来说就是在线模式,跟电脑断掉后,PICO就不会按照程序运行,因为“掉线了”!
3.0、认识硬件
随着时间推移,官方会推出PICO不同的版本,性能和接口都大概率会有差异,故此《入门篇》不做详细介绍,下面单独罗列出来。
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、实战项目
同样会由易到难,你拿到手就能使用,或者稍作改动就可以实现功能。
代码都会有丰富的解释,无论是学习还是使用,都很方便。
同样,这些实战项目仅限对于购买我们产品的客户开放!
第13课:样本,所有用户都可以回复查看:区间温度监控:PICO+LED灯+0.91寸OLED屏+有源蜂鸣器
第2课、点亮1个外部LED灯并闪烁
第3课、读取轻触开关状态并打印出结果
第4课、使用有源蜂鸣器模块并打印结果
第5课、使用火焰传感器模块
第6课、驱动灭火机器人风扇模块
第7课、使用0.91寸OLED显示屏
第9课、使用5个LED灯演示跑马灯效果
第10课、Pico读取自带温度传感器数据
第11课、驱动0.91寸OLED屏并显示温度
第12课、PICO+0.91寸0LED+有源蜂鸣器模块:显示温度且超过30度报警
第14课、火情监测报警系统:PICO+LED灯+有源蜂鸣器+0.91寸OLED屏+火焰传感器
第15课、PICO+0.91寸OLED屏+火焰传感器模块:检测到火情屏幕闪烁并提示
第16课、PICO+火焰传感器+蜂鸣器:监测到火情报警并显示"Fuck!Danger!RUN!"
第17课、PICO+0.91寸OLED屏监控:超过28度闪烁提示
第18课、PICO+0.91寸OLED屏+3 LED:显示温度且超30度亮红灯低于15度亮蓝灯否则l绿灯
第19课、PICO读取自带温度传感器,超过30度亮3个灯低于29亮1个灯否则2个灯亮
第20课、PICO驱动5个LED灯的呼吸灯效果
……
附带、纸质手册和电子版的纠结
原本也想搞一个几十页那种纸质手册,就像12年前树莓派论坛第一个搞出《树莓派使用手册》那样,国内首批几万十几万人的树莓派玩家绝大多数都来自我这里,想想已经人到中年了吧。
言归正传,纸质版是不合适的,其中牵扯到很多网址、例程代码,纸质手册实在太不方便,索性搞成在线版,方便手机或电脑在线查看。这样不怕丢失,随时可以查看使用。