【Follow me第二季第4期】任务一:搭建环境并开启第一步Blink三色LEDand串口打印
[复制链接]
一、任务简介
本任务旨在通过Arduino平台,利用RP2040微控制器实现对一块开发板上的三色RGB LED灯的控制,并通过串口打印信息,实现硬件和软件层面的基本交互。这是学习新硬件和软件平台时常见的“Hello World”式入门项目,旨在熟悉开发环境、硬件接口及基本编程逻辑。
二、物料介绍
硬件:Arduino® Nano RP2040 Connect开发板
软件:Arduino IDE
其他:USB连接线(A口 to Micro)
三、实现思路
本任务的实现思路是通过软件编程的方式进行开发板的控制,不需要额外的硬件连接。
四、软件流程图
软件流程图展示了从程序启动到LED闪烁和串口打印信息的整个流程。流程图应包括初始化、设置引脚模式、点亮/熄灭LED、串口打印、循环等待等关键步骤。)
各任务对应的主要代码片段、功能展示及图文说明:
1、配置硬件初始化
#include <WiFiNINA.h>
char RGB_flag = 0;
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("Hello DigiKey & EEWorld!");
pinMode(LEDB, OUTPUT);
pinMode(LEDR,OUTPUT);
pinMode(LEDG,OUTPUT);
digitalWrite(LEDB,LOW);
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,LOW);
}
初始化串口以及RGB引脚,同时串口打印。这里可以看到我们使用了一个 <WiFiNINA.h>库文件,这个是需要手动安装的,原因就在如下:
RGB的控制是通过wifi芯片实现的,虽然在arduino编程中使用方法没有变化,不过需要调用这个库才能使用RGB,而且有一点需要注意,在NINA模块上使用蓝牙®低功耗模式时,默认不能使用RGB。当模块处于蓝牙®低功耗模式时,RGB通过W-102模块连接,因此需要安装WiFiNINA库。
串口打印效果如下:
2、实现LED闪烁功能
void loop() {
if(RGB_flag) {
digitalWrite(LEDB, LOW);
digitalWrite(LEDR, LOW);
digitalWrite(LEDG, LOW);
} else {
digitalWrite(LEDB, HIGH);
digitalWrite(LEDR, HIGH);
digitalWrite(LEDG, HIGH);
}
RGB_flag = !RGB_flag;
delay(1000);
}
loop中进行循环blink,这个就没有什么特殊的了,同时打开或者关闭LED,打开时类似白灯的效果。
五、本任务的心得体会
通过本次“Blink三色LED并串口打印”的项目实践,可以深刻体会到了Arduino平台在硬件开发中的便捷性和灵活性。利用Arduino IDE,能够快速地编写、上传和调试代码,实现了对RP2040开发板上三色RGB LED灯的控制。同时,通过串口打印信息,我能够直观地验证程序的运行状态,这对于调试和优化代码非常有帮助。也发现了一些Arduino平台的局限性。例如,在编译项目时,Arduino IDE的编译速度相对较慢,这在一定程度上影响了开发效率。此外,虽然Arduino封装了很多底层硬件细节,使得编程更加简单,但对于想要深入了解硬件底层原理的开发者来说,可能会感到有些受限。本次项目实践让人可以对Arduino平台和RP2040开发板有了更深入的了解和认识。
代码如下:
视频讲解如下:
|