|
拿树莓派Pico点个灯,树莓只需要三行MicroPython代码。树莓插上USB线,树莓电脑里拖进去一个uf2文件,树莓打开Thonny,树莓敲下machine.Pin(25,树莓 machine.Pin.OUT).value(1),板子上的树莓LED就亮了。整个过程不到两分钟,树莓不需要装编译器,树莓不需要烧写器,树莓甚至不需要知道C语言是树莓什么。这就是树莓Pico最直接的魅力——它把微控制器的门槛砍到了脚踝高度。 但点灯只是树莓开胃菜。Pico真正的树莓价值在于它身上那两颗RP2040芯片带来的可编程I/O(PIO)。这东西听起来玄乎,树莓实际用起来很实在。比如你想驱动WS2812灯带,传统单片机得靠精确的时序翻转或者找现成库,Pico直接写一段PIO汇编,让硬件自己跑时序,CPU该干嘛干嘛。我试过用PIO同时驱动八条灯带,每条三百颗灯珠,刷新率稳在60帧以上,主核占用率不到百分之五。这种活儿以前得用FPGA或者高端STM32才能干。 做键盘是另一个有意思的方向。机械键盘圈子里有人拿Pico当主控,因为RP2040的GPIO多、响应快,而且支持USB HID原生协议。一个叫KMK的固件项目专门为Pico适配,刷进去之后,你可以在Python文件里定义每个按键的功能,改键不用重新编译,直接编辑代码保存就生效。有个朋友做了把分体式键盘,左右手各一块Pico,通过I2C通信,中间连根网线就行。他说比之前用Pro Micro省事多了,至少不用天天担心烧录口被静电打坏。 传感器采集也是常见用法。Pico有四个ADC通道,12位精度,虽然不算高,但测个温度、光照、电位器绰绰有余。我拿它接过BME280,I2C地址一填,读出来的气压值能精确到小数点后两位。配合MicroPython的定时器,每秒采一次数据,通过USB串口传到树莓派上画曲线。整套东西成本不到五十块,比买现成的数据记录仪便宜十倍。有个做农业的朋友更狠,他把Pico埋进大棚土壤里,接上电容式湿度传感器,用电池供电,靠深度睡眠模式撑了三个月。 电机控制这块,Pico的PWM频率可以调到很高,驱动舵机或者直流电机都稳。有个做四足机器人的团队,每条腿用一块Pico,十二个舵机分别控制,通过CAN总线协调步态。他们之前用Arduino Nano,舵机一多就抖,换Pico之后抖动明显小了。原因在于RP2040的PWM模块独立于CPU,不会因为程序跑飞就输出乱脉冲。当然,你要是拿它驱动大功率无刷电机,还是得外接电调,Pico只负责发信号。 网络功能算是个短板。Pico本身不带WiFi,得外挂ESP8266或者用Pico W。Pico W那个CYW43439芯片支持WiFi和蓝牙,但MicroPython的蓝牙栈还在完善中,目前只能当个串口透传用。我试过用Pico W连MQTT服务器,发个温度数据延迟在两百毫秒左右,做智能家居开关够用,做实时控制就差点意思。不过话说回来,二十块钱的东西能联网,还要啥自行车。 教育场景里Pico出现得越来越多。英国有中学拿它教物理课,让学生用光敏电阻和Pico测单摆周期。学生自己焊电路、写Python、画图表,一节课下来既学了编程又学了力学。老师反馈说比用示波器直观,因为数据直接进电脑,不用手抄。国内有些创客空间也开了Pico的入门课,主打“不焊板子也能玩”,用面包板和杜邦线就能搭出呼吸灯、电子琴、避障小车。 最后说个冷门但实用的:逻辑分析仪。有人写了开源固件把Pico变成八通道逻辑分析仪,采样率能到100MHz,配合Sigrok软件看SPI、I2C波形。我拿它抓过一块老式游戏机的手柄协议,省了买专业分析仪的钱。当然精度和抗干扰比不上正经仪器,但调试低速数字信号完全够用。Pico的PIO在这里又立功了,它能把采样数据直接DMA到内存,CPU几乎不参与。 Pico不是用来替代树莓派的。它没有操作系统,没有HDMI,跑不了TensorFlow。但它便宜、皮实、文档全,而且那个PIO模块给了你超出价位的灵活性。你想得到的小玩意儿——闪烁的徽章、自动喂鱼器、MIDI控制器、甚至一个能发推特的按钮——它基本都能干。剩下的就看你想不想动手了。 |