![cover](https://img-blog.csdnimg.cn/3cc06f4c26f34260862aca2b513c0dbd.png#pic_left)
Mini-RP2040主控板在Arduino IDE下使用
Mini-RP2040主控板在Arduino IDE下使用
Arduino-Pico 是 RP2040(Raspberry Pi Pico 处理器)到 Arduino 生态系统的社区端口,旨在让基于 Raspberry Pi Pico / RP2040 的开发板的使用和编程变得更轻松、更有趣。
Arduino-Pico项目地址: https://github.com/earlephilhower/arduino-pico。
Arduino-Pico文档地址: https://arduino-pico.readthedocs.io/en/latest/。
Mini-RP2040主控板
Mini-RP2040主板,基于树莓派RP2040芯片设计制作;主板引出6路防反接(ZH1.5-4P)端口,BOOT、RESET两个轻触按键,一路可编程RGB彩灯(GPIO25),设计简单,功能轻便,适用于简单的创客设计。
两种供电方式,满足选择:一路type-c供电端口,一路PH2.0-4P供电端口;一个电源指示灯,轻松明了开关状态。
Mini-RP2040主板具有兼容乐高积木的安装孔,可轻松完成乐高积木的拼接,实现创意设计。
Arduino IDE 配置编译环境
- 打开 Arduino IDE,然后转到文件>首选项。
- 在弹出的对话框中,在“其他看板管理器 URL”字段中输入以下 URL:https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
- 转到 IDE中的工具->开发板->开发板管理器,在搜索框职工输入“pico”,找到“Raspberry Pi Pico/RP2040”,选择版本点击安装(此处已安装完成,显示更新):
- 安装完成后,工具 > 开发板 > Raspberry Pi RP2040 Boards 栏下可以找到相关板型,这里咱们根据实际选择即可,我选择:Raspberry Pi Pico:
- 再回到工具 栏下可以看到开发板已经选择,并多处许多参数选择,这里咱们只需要使用默认参数即可,无需更改:
主板第一次上传程序
第一次将程序上传到主板上时,您需要使用内置的 ROM 引导加载程序来处理上传,而不是串行端口。
- 按住 BOOT 按钮,连接主板USB。
- 点击上传按钮。
- 待上传完成后,电脑中会多一个新的串行端口;从菜单中选择新的串行端口。工具->端口,再次点击上传即可。
主板上传Blink程序
下面的测试程序需要先安装库文件:NeoPixelConnect。
项目> 加载库 > 管理库:
库管理器中搜索“pico neo”,找到NeoPixelConnect库文件,并安装:
主板测试例程:
/*
MINI-RP2040 测试程序
RGBled 红绿蓝
*/
#include <NeoPixelConnect.h>
#define MAXIMUM_NUM_NEOPIXELS 1
#define NEOPIXELS_PIN 25 // 板载rgb灯
NeoPixelConnect p(NEOPIXELS_PIN, MAXIMUM_NUM_NEOPIXELS, pio0, 0);
#define OffLED 0 // 0-0 全灭灯
#define RedLED 1 // 0-1 点亮红灯
#define YellowLED 2 // 1-0 点亮黄灯
#define GreenLED 3 // 1-1 点亮绿灯
const int Pin1_1 = 1;
const int Pin1_2 = 0;
const int Pin2_1 = 3;
const int Pin2_2 = 2;
const int Pin3_1 = 5;
const int Pin3_2 = 4;
const int Pin4_1 = 7;
const int Pin4_2 = 6;
const int Pin5_1 = 27;
const int Pin5_2 = 26;
const int Pin6_1 = 29;
const int Pin6_2 = 28;
void setup() {
Serial.begin(115200);
pinMode(Pin1_1, OUTPUT);
pinMode(Pin1_2, OUTPUT);
pinMode(Pin2_1, OUTPUT);
pinMode(Pin2_2, OUTPUT);
pinMode(Pin3_1, OUTPUT);
pinMode(Pin3_2, OUTPUT);
pinMode(Pin4_1, OUTPUT);
pinMode(Pin4_2, OUTPUT);
pinMode(Pin5_1, OUTPUT);
pinMode(Pin5_2, OUTPUT);
pinMode(Pin6_1, OUTPUT);
pinMode(Pin6_2, OUTPUT);
light(Pin1_1, Pin1_2, OffLED);
light(Pin2_1, Pin2_2, OffLED);
light(Pin3_1, Pin3_2, OffLED);
light(Pin4_1, Pin4_2, OffLED);
light(Pin5_1, Pin5_2, OffLED);
light(Pin6_1, Pin6_2, OffLED);
delay(2000);
Serial.println("In setup");
}
void loop() {
// set all LEDs to red, then green, and then blue
p.neoPixelFill(100, 0, 0, true);
light(Pin1_1, Pin1_2, RedLED);
light(Pin2_1, Pin2_2, RedLED);
light(Pin3_1, Pin3_2, RedLED);
light(Pin4_1, Pin4_2, RedLED);
light(Pin5_1, Pin5_2, RedLED);
light(Pin6_1, Pin6_2, RedLED);
delay(300);
p.neoPixelFill(0, 100, 0, true);
light(Pin1_1, Pin1_2, YellowLED);
light(Pin2_1, Pin2_2, YellowLED);
light(Pin3_1, Pin3_2, YellowLED);
light(Pin4_1, Pin4_2, YellowLED);
light(Pin5_1, Pin5_2, YellowLED);
light(Pin6_1, Pin6_2, YellowLED);
delay(300);
p.neoPixelFill(0, 0, 100, true);
light(Pin1_1, Pin1_2, GreenLED);
light(Pin2_1, Pin2_2, GreenLED);
light(Pin3_1, Pin3_2, GreenLED);
light(Pin4_1, Pin4_2, GreenLED);
light(Pin5_1, Pin5_2, GreenLED);
light(Pin6_1, Pin6_2, GreenLED);
delay(300);
}
// 发送数据
void light(int p1, int p2, int cLED) {
switch (cLED) {
case OffLED:
digitalWrite(p1 , 0);
digitalWrite(p2 , 0);
break;
case RedLED:
digitalWrite(p1 , 0);
digitalWrite(p2 , 1);
break;
case YellowLED:
digitalWrite(p1 , 1);
digitalWrite(p2 , 0);
break;
case GreenLED:
digitalWrite(p1 , 1);
digitalWrite(p2 , 1);
break;
}
}
测试效果:RGB LED 点亮 红绿蓝交替闪烁。ZH1.5任一外接端口连接YFROBOT交通灯模块,模块红黄绿灯交替闪烁。
更多使用方法请参见:https://arduino-pico.readthedocs.io/en/latest/
更多推荐
所有评论(0)