【得捷电子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
- #define MAX_VAL 255
-
- /**
- * 呼吸灯
- */
- void breathe();
-
- void setup() {
-
- Serial.begin(115200);
- delay(1500);
-
-
- 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. 效果展示
|