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

串口操作
串口即串行通信接口,是一种实现设备与设备之间、模块与设备之间数据传输的有线通信方式。
UNIHIKER K10支持2个串口通信,其中串口0为硬串口,通常用于程序上传和接收Mind+串口窗发送的数据。

串口操作相关积木

串口操作相关积木说明

辅助:屏幕显示相关积木

【花雕学编程】行空板K10系列实验之从串口中读取数据控制RGB LED与显示屏改变颜色
实验开源代码
#include "unihiker_k10.h" // 引入 UNIHIKER_K10 库,用于控制硬件行空板K10的功能
// 动态变量
volatile float mind_n_ChuanKouShuJu; // 定义易变的浮点数变量,用于存储串口传入的数据
// 创建对象
UNIHIKER_K10 k10; // 创建 行空板K10 对象,用于控制屏幕、LED等功能
uint8_t screen_dir = 3; // 定义屏幕方向,值为3
// 主程序开始
void setup() {
k10.begin(); // 初始化 行空板k10 对象
k10.initScreen(screen_dir); // 初始化屏幕方向
k10.creatCanvas(); // 创建画布,用于显示内容
Serial.begin(9600); // 初始化串口通信,波特率为9600
k10.setScreenBackground(0x000000); // 设置屏幕背景为黑色
}
void loop() {
// 检测串口是否有数据传入
if (Serial.available()) {
mind_n_ChuanKouShuJu = Serial.read(); // 读取串口数据并存储在变量 mind_n_ChuanKouShuJu 中
}
// 如果接收到字符 'R',设置屏幕和LED为红色
if (mind_n_ChuanKouShuJu == (toascii('R'))) {
k10.rgb->write(-1, 0xFF0000); // 设置板载LED灯为红色
k10.setScreenBackground(0xFF0000); // 设置屏幕背景为红色
k10.canvas->canvasText(" 红色", 5, 0xFFFFFF); // 显示文字 "红色",字体大小为5,颜色为白色
k10.canvas->updateCanvas(); // 更新画布以显示内容
}
// 如果接收到字符 'G',设置屏幕和LED为绿色
if (mind_n_ChuanKouShuJu == (toascii('G'))) {
k10.rgb->write(-1, 0x00FF00); // 设置板载LED灯为绿色
k10.setScreenBackground(0x00FF00); // 设置屏幕背景为绿色
k10.canvas->canvasText(" 绿色", 5, 0xFFFFFF); // 显示文字 "绿色",字体大小为5,颜色为白色
k10.canvas->updateCanvas(); // 更新画布以显示内容
}
// 如果接收到字符 'B',设置屏幕和LED为蓝色
if (mind_n_ChuanKouShuJu == (toascii('B'))) {
k10.rgb->write(-1, 0x0000FF); // 设置板载LED灯为蓝色
k10.setScreenBackground(0x0000FF); // 设置屏幕背景为蓝色
k10.canvas->canvasText(" 蓝色", 5, 0xFFFFFF); // 显示文字 "蓝色",字体大小为5,颜色为白色
k10.canvas->updateCanvas(); // 更新画布以显示内容
}
}
代码解读
1、串口监听:
使用 Serial.available() 检测串口是否有数据传入。
如果有数据,使用 Serial.read() 读取数据并存储到变量 mind_n_ChuanKouShuJu 中。
2、颜色切换:
根据接收的数据值切换 LED 和屏幕的颜色。
当收到字符 'R'(表示红色)时:
将 LED 设置为红色。
将屏幕背景设置为红色,并显示文字 "红色"。
当收到字符 'G'(表示绿色)时:
将 LED 设置为绿色。
将屏幕背景设置为绿色,并显示文字 "绿色"。
当收到字符 'B'(表示蓝色)时:
将 LED 设置为蓝色。
将屏幕背景设置为蓝色,并显示文字 "蓝色"。
4、视觉更新:
每次切换颜色后,都会调用 k10.canvas->updateCanvas() 方法更新画布,确保内容即时显示。
5、应用场景
该代码可用于通过串口指令控制 LED 灯光和屏幕颜色,例如用于调试、演示或互动项目。
Mind+图形编程

实验串口分别输入“RGB”情况



实验场景图



评论