【花雕学编程】行空板 K10 系列实验之RGB LED模拟红蓝色爆闪警灯和绿色呼吸灯

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

00 (01).jpeg

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

主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好

 

0-5.jpg

板载RGB LED

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

 

02-3.jpg


相关RGB LED控制图形积木

 

02-4.jpg

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+图形编程

 

02-12.jpg

实验场景图  动态图

 

00024.gif

实验场景图  

 

02-13 (1).jpg
02-14 (1).jpg

绿色呼吸灯

 

 

代码
#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+图形编程

 

02-15.jpg

实验场景图  动态图

 

00025.gif

实验场景图  

 

02-16r.jpg

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -