官网介绍: 树莓派 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相关推荐

  1. 米思奇blynk_米思奇编程积木套件入门教程 项目一:点亮板载LED灯

    该教程实验平台:上一篇教程:本节课程任务 任务1--点亮板载LED灯 1.程序编写 双击右图中的Mixly.vbs文件,即可打开Mixly软件: 2.png (109.53 KB, 下载次数: 56) ...

  2. cubieboard上通过U-boot点亮板载LED

    有空了,先先来个简单的u-boot上实现LED控制 软件环境: 笔记本一台,安装WindowsXP sp3 XP下软件:Source Insight 3.5:SecureCRT:VMware Work ...

  3. 新唐 Nuvoton NUC029 入门 点亮板载LED

    官网地址 http://www.nuvoton.com.cn/products/microcontrollers/arm-cortex-m0-mcus/nuc029-series/nuc029sde/ ...

  4. 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(九)---制作APP

    前几篇文章讲解了如何在阿里云控制台上给设备登记"身份证",如何用MQTT.fx客户端模拟一个设备连接阿里云物联网平台,分析了arduino编程环境如何配置依赖库,在arduino ...

  5. STM32F103ZET6点亮板载LED灯

    1.新建工程,这边先套用了原子的工程模板 2.编写LED.C文件,GPIO引脚使能,查看原理图,发现我的开发板LED灯连接的引脚为PB9和PE5,于是我们初始化PB9和PE5即可 #include & ...

  6. 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(四)---阿里云物联网平台使用基础

    前面几个文章一直在分析arduino d1 wifi模块如何安装开发板库,如何编程,如何调用wifi操作库,如何运行第一个网络扫描程序. 现在突然跳转到介绍阿里云,为什么呢? 原因很简单,就是物联网设 ...

  7. 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(三)---D1 wifi模块连接网络

    做硬件实验,切记不要奢望一蹴而就.哪怕是对照网络上的文章一步步操作,也不会一次成功.因为总有一些细节是自己容易忽略的,你要具备一定的基础知识才能将遇到的小问题排除,才能保证操作成功.甚至有的人操作系统 ...

  8. 使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(五)---MQTT.fx模拟设备连接阿里云

    前文提到,物联网设备在阿里云物联网平台登记了"身份证"之后,阿里云物联网平台上的设备就处于"未激活""离线"或者"在线" ...

  9. 树莓派Pico W无线开发板MQTT协议通信MicroPython编程实践

    本博文介绍采用Thonny+MicroPython和umqtt.simple库MQTTClient类的对象方法编制树莓派Pico W无线开发板MQTT协议通信程序,将Pico W无线开发板.电脑或An ...

  10. Beaglebone Black教程项目1闪烁板载LED

    Beaglebone Black教程项目1闪烁板载LED 项目1闪烁板载LED 当设置完你的Beaglebone Black的时候,可能早就非常期待你的第一个项目了.下面就来满足大家的愿望,当然,这个 ...

最新文章

  1. 解决MPLAB X IDE的文件注释出现乱码的问题
  2. webpack4.x 模块化浅析-CommonJS
  3. courses to choose
  4. windows2008下配置iis时出现错误“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。”...
  5. 【Linux】一步一步学Linux——make命令(259)
  6. java实现秒杀系统_Java秒杀系统--4.实现秒杀接口
  7. 泰山游记:所为非风光,为历史尔
  8. setupdll在CAB安装过程中的一些处理方法
  9. SecureCRT鼠标双击或拖成变成Ctrl+C的解决办法
  10. es 创建索引 指定id_elasticsearch创建索引
  11. 解决ERROR:Local variable count defined in an enclosing scope must be final or effectively final
  12. omap3530 linux串口驱动,omap3530(Cortex-A8)硬件平台软件调试笔记
  13. php 将pdf生成图片,php 将pdf转成图片且将图片拼接
  14. Mac 下erlang及rabbitmq安装
  15. java过滤器敏感字的拦截_【JavaWeb】94:如何屏蔽敏感词?
  16. springboot全省中小学师生共建习题交流与指导平台毕业设计源码031619
  17. java方法传参机制
  18. 使用jaxws:server 还是使用jaxws:endpoint发布webservice
  19. plex实现流媒体服务器_Plex是我一直在等待的媒体中心软件生态系统
  20. 一张图介绍PRS的计算步骤

热门文章

  1. 我的密码之旅:从统一密码,到云同步的随机密码器
  2. P6Spy-打印具体sql
  3. AI算法工程师的寒冬?我们完全可以反向思维。。。
  4. 零碳数科CEO闫保磊:推进工业互联网建设需要工业机理和数字科技相融合
  5. 干线物流自动驾驶和车路协同融合发展探索
  6. 小白数据分析行业,给大家推荐几本有用的书籍
  7. “第六届世界声博会暨2023科大讯飞全球1024开发者节”开幕式回顾及舆情问题
  8. Linux 磁盘管理-分区管理-系统安装-选择分区方案Standard Partition VS LVM VS LVM Logical
  9. 微信小程序七夕节礼物
  10. 【总结整理】如何四步做用户调研,以滴滴为例(起点学院)