【得捷电子Follow Me第二季第4期】Arduino Nano RP2040 Connect 入门任务
[复制链接]
本帖最后由 鲜de芒果 于 2024-12-29 13:32 编辑
1. 任务要求
搭建环境并开启第一步Blink三色LED / 串口打印Hello DigiKey & EEWorld!;
2. Arduino开发环境搭建
- 下载 Arduino IDE
- 解压,将下载的 Arduino IDE 解压到磁盘中。
- 打开解压后的文件夹,双击 运行 Arduino IDE.exe
首次打开的 Arduino IDE 如下图所示:
3. 功能实现
3.1 原理
Arduino Nano RP2040 Connect有一个板载 共阳极 RGB 三色 LED。通过如下原理图我们可以看到,RGB LED只是三个独立的LED,它们的 阳极 或 正极 连接到相同的电源,它们的负极连接到相应的网络标签 LEDB, LEDG 和 LEDR。 网络标签用以表示它们的颜色以及连接到的相应硬件网络:
如下图所示:如果我们看一下这些标签实际上连接的位置,我们可以看到它们连接到 UBlox NINA 模块上的16、17、18引脚。所以为了使用RGB LED,我们需要通过这个WiFi模块。为此,Arduino 官方已经存在一个库供我们使用。因此我们可以很简单地实现三色RGB LED的控制。
3.2 代码实现
/**
* FollowMe 2-4 任务1:
* 1. 搭建环境并开启第一步Blink三色LED
* 2. 串口打印Hello DigiKey & EEWorld!
*/
#include <Arduino.h>
#include <WiFiNINA.h>
#define MIN_VAL 0 // PWM分辨率最小值
#define MAX_VAL 255 // PWM分辨率最大值
/**
* 呼吸灯
*/
void breathe();
void setup() {
// 初始化串口
Serial.begin(115200);
delay(1500);
// 初始化三色 LED 为输出
pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
pinMode(LEDB, OUTPUT);
delay(1000);
// 串口打印
Serial.println("Hello DigiKey & EEWorld!");
}
void loop() {
breathe(LEDR);
breathe(LEDG);
breathe(LEDB);
// 串口打印
Serial.println("Hello DigiKey & EEWorld!");
}
/**
* 呼吸灯
*/
void breathe(NinaPin pin) {
for (int i = 0; i < 256; i++) {
analogWrite(pin, i);
delay(1);
}
for (int i = 255; i >= 0; i--) {
analogWrite(pin, i);
delay(1);
}
}
4. 效果展示
|