树莓派 Pico (一)点亮板载 LED WS2812
官网介绍: 树莓派 Raspberry Pi Pico
先来捋清楚 Raspberry Pi Pico 这几个字的含义:
Raspberry Pi 是品牌
Pico 是子品牌,包含 Pico 和 Pico W (带无线功能)两种开发板
RP2040 是 Pico 开发板用到的 MCU
一下统一以 Pico 来称呼。
看到有些搭建需要用到 Pico ,当然程序移植到其他 MCU 也是可以的,不过略显麻烦。
由于是 Pico 开源的,有很多兼容的开发板,引脚一致的,但是有的板上集成了WS2812,比原板还好用,价格还更好。
Pico 支持很多编程方式,先使用熟悉的 arduino1.8.19 试试看。
1.插上USB线,Windows里应该看到如下设备,如果已经运行其他使用串口的程序则可能不是,那么按住boot键不放再插即可。
2. Arduino 里安装该板的环境,如下搜索后安装即可,速度不错,比ESP32舒适。
3. 例程里面找到下面这个上传即可,然后可以看到这个模拟键盘就开始干活了:HelloworldHelloworldHelloworldHelloworld。。。往任何能键盘输入的地方发送文字了
4. 老规矩,闪个灯先, 板载 LED对应的是 GPIO25
#define LED 25void setup() {pinMode(LED, OUTPUT);
}void loop() {digitalWrite(LED, HIGH);delay(200);digitalWrite(LED, LOW);delay(500);
}
5. 板上有一颗WS2812,对应的是 GPIO23,这是兼容比原板还好的地方,嗯之一,还有之二就是改了TypeC口。
不过这里有个坑:
实测这颗 WS2812 默认没有连接到任何引脚,但是在附近有一个焊盘,写着RGB,实际测量一下,只要用焊锡短路这个焊盘就可以用了。这也是山寨工业的强项:没有说明,一切靠猜!
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel pixels(/*NUMPIXELS*/1, /*PIN*/23, NEO_GRB + NEO_KHZ800);void setup() {pixels.begin();
}void loop() {pixels.setPixelColor(0, pixels.Color(20, 0, 0));pixels.show(); delay(1000);pixels.setPixelColor(0, pixels.Color(0, 20, 0));pixels.show(); delay(1000);pixels.setPixelColor(0, pixels.Color(0, 0, 20));pixels.show(); delay(1000);
}
6. 抓到 Bug 一只(或许是特性):Pico默认的USB上传方式并不是串口,一旦程序里启用串口即 Serial.begin() 上传一次后 , “RP2 boot ”会消失,设备列表里面会多出一个串口。那么后面再次上传时 IDE的下载方式自动变更到这个新出现的串口,上传程序失败,还没法改。那就需要回到1 里面提到的,按住boot键不放再上电即可。不用串口则没有这个问题,可以像使用UNO一样重复点上传都是可以的。
接下来,跑跑流行的 MicroPython:
1. 电脑端软件使用 uPyCraft (其他软件也行,哪个顺手用哪个)
2. 按住boot键不放再上电,看到盘符 RPI-RP2
3. 官网下载固件 rp2-pico-20230203-unstable-v1.19.1-852-g9ea64a36a.uf2
4. 把这个文件拖进 RPI-RP2 盘里面。
5. 按板上的 reset 按键,这时 MicoPython 准备好了。
可以看出 Pico 刷固件真是很方便,比其他的 MCU 比如 ESP32 方便很多.
Pico出厂默认预装MicroPython固件,上面这些操作其实可以不做的,我是先用了arduino才需要刷一次。
惯例闪个灯:(关于 uPyCraft 的使用百度很多)
import machine
import utimeled_onboard = machine.Pin(25, machine.Pin.OUT) # GP25while True:led_onboard.value(1) # 点亮utime.sleep(0.1) # 等待1秒led_onboard.value(0) # 熄灭utime.sleep(0.9) # 等待1秒
树莓派 Pico (一)点亮板载 LED WS2812相关推荐
- 米思奇blynk_米思奇编程积木套件入门教程 项目一:点亮板载LED灯
该教程实验平台:上一篇教程:本节课程任务 任务1--点亮板载LED灯 1.程序编写 双击右图中的Mixly.vbs文件,即可打开Mixly软件: 2.png (109.53 KB, 下载次数: 56) ...
- cubieboard上通过U-boot点亮板载LED
有空了,先先来个简单的u-boot上实现LED控制 软件环境: 笔记本一台,安装WindowsXP sp3 XP下软件:Source Insight 3.5:SecureCRT:VMware Work ...
- 新唐 Nuvoton NUC029 入门 点亮板载LED
官网地址 http://www.nuvoton.com.cn/products/microcontrollers/arm-cortex-m0-mcus/nuc029-series/nuc029sde/ ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(九)---制作APP
前几篇文章讲解了如何在阿里云控制台上给设备登记"身份证",如何用MQTT.fx客户端模拟一个设备连接阿里云物联网平台,分析了arduino编程环境如何配置依赖库,在arduino ...
- STM32F103ZET6点亮板载LED灯
1.新建工程,这边先套用了原子的工程模板 2.编写LED.C文件,GPIO引脚使能,查看原理图,发现我的开发板LED灯连接的引脚为PB9和PE5,于是我们初始化PB9和PE5即可 #include & ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(四)---阿里云物联网平台使用基础
前面几个文章一直在分析arduino d1 wifi模块如何安装开发板库,如何编程,如何调用wifi操作库,如何运行第一个网络扫描程序. 现在突然跳转到介绍阿里云,为什么呢? 原因很简单,就是物联网设 ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(三)---D1 wifi模块连接网络
做硬件实验,切记不要奢望一蹴而就.哪怕是对照网络上的文章一步步操作,也不会一次成功.因为总有一些细节是自己容易忽略的,你要具备一定的基础知识才能将遇到的小问题排除,才能保证操作成功.甚至有的人操作系统 ...
- 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(五)---MQTT.fx模拟设备连接阿里云
前文提到,物联网设备在阿里云物联网平台登记了"身份证"之后,阿里云物联网平台上的设备就处于"未激活""离线"或者"在线" ...
- 树莓派Pico W无线开发板MQTT协议通信MicroPython编程实践
本博文介绍采用Thonny+MicroPython和umqtt.simple库MQTTClient类的对象方法编制树莓派Pico W无线开发板MQTT协议通信程序,将Pico W无线开发板.电脑或An ...
- Beaglebone Black教程项目1闪烁板载LED
Beaglebone Black教程项目1闪烁板载LED 项目1闪烁板载LED 当设置完你的Beaglebone Black的时候,可能早就非常期待你的第一个项目了.下面就来满足大家的愿望,当然,这个 ...
最新文章
- 解决MPLAB X IDE的文件注释出现乱码的问题
- webpack4.x 模块化浅析-CommonJS
- courses to choose
- windows2008下配置iis时出现错误“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。”...
- 【Linux】一步一步学Linux——make命令(259)
- java实现秒杀系统_Java秒杀系统--4.实现秒杀接口
- 泰山游记:所为非风光,为历史尔
- setupdll在CAB安装过程中的一些处理方法
- SecureCRT鼠标双击或拖成变成Ctrl+C的解决办法
- es 创建索引 指定id_elasticsearch创建索引
- 解决ERROR:Local variable count defined in an enclosing scope must be final or effectively final
- omap3530 linux串口驱动,omap3530(Cortex-A8)硬件平台软件调试笔记
- php 将pdf生成图片,php 将pdf转成图片且将图片拼接
- Mac 下erlang及rabbitmq安装
- java过滤器敏感字的拦截_【JavaWeb】94:如何屏蔽敏感词?
- springboot全省中小学师生共建习题交流与指导平台毕业设计源码031619
- java方法传参机制
- 使用jaxws:server 还是使用jaxws:endpoint发布webservice
- plex实现流媒体服务器_Plex是我一直在等待的媒体中心软件生态系统
- 一张图介绍PRS的计算步骤
热门文章
- 我的密码之旅:从统一密码,到云同步的随机密码器
- P6Spy-打印具体sql
- AI算法工程师的寒冬?我们完全可以反向思维。。。
- 零碳数科CEO闫保磊:推进工业互联网建设需要工业机理和数字科技相融合
- 干线物流自动驾驶和车路协同融合发展探索
- 小白数据分析行业,给大家推荐几本有用的书籍
- “第六届世界声博会暨2023科大讯飞全球1024开发者节”开幕式回顾及舆情问题
- Linux 磁盘管理-分区管理-系统安装-选择分区方案Standard Partition VS LVM VS LVM Logical
- 微信小程序七夕节礼物
- 【总结整理】如何四步做用户调研,以滴滴为例(起点学院)