【花雕学编程】行空板 K10 系列实验之RGB LED模拟红蓝色爆闪警灯和绿色呼吸灯
2024-11-17151
AI 快速预览详细
本文介绍了如何使用行空板K10的板载RGB LED实现红蓝色爆闪警灯和绿色呼吸灯效果。通过详细的代码示例,展示了如何控制LED的颜色和亮度。这个项目非常适合编程启蒙和STEM教育,能够激发孩子的创造力。

行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。
主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好

板载RGB LED
主控板背面下方有三颗RGB LED灯,使用序号来指定要控制的RGB LED灯。

相关RGB LED控制图形积木

1、模拟红蓝色爆闪警灯
代码
#include "unihiker_k10.h" // 引入UNIHIKER_K10库
// 创建K10对象
UNIHIKER_K10 k10; // 实例化一个UNIHIKER_K10类型的对象
// 主程序开始
void setup() {
k10.begin(); // 初始化K10机器人,准备硬件接口和配置
}
// 主循环程序
void loop() {
// 红色LED闪烁10次
for (int index = 0; index < 10; index++) {
k10.rgb->write(-1, 0xFF0000); // 将所有LED设置为红色(0xFF0000是RGB颜色代码,其中FF代表红色,00代表绿色,00代表蓝色)
delay(30); // 延迟30毫秒
k10.rgb->write(-1, 0x000000); // 将所有LED关闭(0x000000是RGB颜色代码,代表黑色,即关闭LED)
delay(40); // 延迟40毫秒
}
// 蓝色LED闪烁10次
for (int index = 0; index < 10; index++) {
k10.rgb->write(-1, 0x0000FF); // 将所有LED设置为蓝色(0x0000FF是RGB颜色代码)
delay(30); // 延迟30毫秒
k10.rgb->write(-1, 0x000000); // 将所有LED关闭
delay(40); // 延迟40毫秒
}
}Mind+图形编程

实验场景图 动态图

实验场景图


绿色呼吸灯
代码
#include "unihiker_k10.h" // 引入UNIHIKER_K10库
// 动态变量,用于存储亮度值
volatile float mind_n_LiangDu; // 声明一个易失性变量,用于存储亮度值
// 创建K10对象
UNIHIKER_K10 k10; // 实例化一个UNIHIKER_K10类型的对象
// 主程序开始
void setup() {
k10.begin(); // 初始化K10机器人,准备硬件接口和配置
k10.rgb->brightness(round(0)); // 将LED的亮度设置为0(关闭LED)
k10.rgb->brightness(round(mind_n_LiangDu)); // 将LED的亮度设置为mind_n_LiangDu变量的值
k10.rgb->write(-1, 0x00FF00); // 将所有LED设置为绿色(0x00FF00是RGB颜色代码,其中00代表红色和蓝色通道,FF代表绿色通道)
}
// 主循环程序
void loop() {
while (!(mind_n_LiangDu==9)) { // 当mind_n_LiangDu不等于9时,执行循环
k10.rgb->brightness(round(mind_n_LiangDu)); // 将LED的亮度设置为mind_n_LiangDu变量的值
k10.rgb->write(-1, 0x00FF00); // 将所有LED设置为绿色
delay(200); // 延迟200毫秒
mind_n_LiangDu += 1; // 将mind_n_LiangDu变量的值增加1
}
while (!(mind_n_LiangDu==0)) { // 当mind_n_LiangDu不等于0时,执行循环
k10.rgb->brightness(round(mind_n_LiangDu)); // 将LED的亮度设置为mind_n_LiangDu变量的值
k10.rgb->write(-1, 0x00FF00); // 将所有LED设置为绿色
delay(200); // 延迟200毫秒
mind_n_LiangDu -= 1;Mind+图形编程

实验场景图 动态图

实验场景图




