87|0

6323

帖子

9

TA的资源

版主

楼主
 

【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开发板有了更深入的了解和认识。
代码如下:
test1.zip (532 Bytes, 下载次数: 0)
视频讲解如下:
任务一

 

点赞 关注
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/3 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表