250浏览
查看: 250|回复: 8

[K10项目分享] 【花雕学编程】行空板K10系列实验之串口数据控制RGB

[复制链接]
【花雕学编程】行空板K10系列实验之串口数据控制RGB图1

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

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


【花雕学编程】行空板K10系列实验之串口数据控制RGB图2

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 15:55:40

【花雕学编程】行空板K10系列实验之串口数据控制RGB

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


【花雕学编程】行空板K10系列实验之串口数据控制RGB图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 15:57:53

【花雕学编程】行空板K10系列实验之串口数据控制RGB

串口操作相关积木

【花雕学编程】行空板K10系列实验之串口数据控制RGB图1

串口操作相关积木说明

【花雕学编程】行空板K10系列实验之串口数据控制RGB图2

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 15:59:30

【花雕学编程】行空板K10系列实验之串口数据控制RGB

辅助:屏幕显示相关积木

【花雕学编程】行空板K10系列实验之串口数据控制RGB图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 16:04:13

【花雕学编程】行空板K10系列实验之串口数据控制RGB

【花雕学编程】行空板K10系列实验之从串口中读取数据控制RGB LED与显示屏改变颜色
实验开源代码

  1. #include "unihiker_k10.h"  // 引入 UNIHIKER_K10 库,用于控制硬件行空板K10的功能
  2. // 动态变量
  3. volatile float mind_n_ChuanKouShuJu;  // 定义易变的浮点数变量,用于存储串口传入的数据
  4. // 创建对象
  5. UNIHIKER_K10 k10;  // 创建 行空板K10 对象,用于控制屏幕、LED等功能
  6. uint8_t screen_dir = 3;  // 定义屏幕方向,值为3
  7. // 主程序开始
  8. void setup() {
  9.     k10.begin();  // 初始化 行空板k10 对象
  10.     k10.initScreen(screen_dir);  // 初始化屏幕方向
  11.     k10.creatCanvas();  // 创建画布,用于显示内容
  12.     Serial.begin(9600);  // 初始化串口通信,波特率为9600
  13.     k10.setScreenBackground(0x000000);  // 设置屏幕背景为黑色
  14. }
  15. void loop() {
  16.     // 检测串口是否有数据传入
  17.     if (Serial.available()) {
  18.         mind_n_ChuanKouShuJu = Serial.read();  // 读取串口数据并存储在变量 mind_n_ChuanKouShuJu 中
  19.     }
  20.     // 如果接收到字符 'R',设置屏幕和LED为红色
  21.     if (mind_n_ChuanKouShuJu == (toascii('R'))) {
  22.         k10.rgb->write(-1, 0xFF0000);  // 设置板载LED灯为红色
  23.         k10.setScreenBackground(0xFF0000);  // 设置屏幕背景为红色
  24.         k10.canvas->canvasText("                红色", 5, 0xFFFFFF);  // 显示文字 "红色",字体大小为5,颜色为白色
  25.         k10.canvas->updateCanvas();  // 更新画布以显示内容
  26.     }
  27.     // 如果接收到字符 'G',设置屏幕和LED为绿色
  28.     if (mind_n_ChuanKouShuJu == (toascii('G'))) {
  29.         k10.rgb->write(-1, 0x00FF00);  // 设置板载LED灯为绿色
  30.         k10.setScreenBackground(0x00FF00);  // 设置屏幕背景为绿色
  31.         k10.canvas->canvasText("                绿色", 5, 0xFFFFFF);  // 显示文字 "绿色",字体大小为5,颜色为白色
  32.         k10.canvas->updateCanvas();  // 更新画布以显示内容
  33.     }
  34.     // 如果接收到字符 'B',设置屏幕和LED为蓝色
  35.     if (mind_n_ChuanKouShuJu == (toascii('B'))) {
  36.         k10.rgb->write(-1, 0x0000FF);  // 设置板载LED灯为蓝色
  37.         k10.setScreenBackground(0x0000FF);  // 设置屏幕背景为蓝色
  38.         k10.canvas->canvasText("                蓝色", 5, 0xFFFFFF);  // 显示文字 "蓝色",字体大小为5,颜色为白色
  39.         k10.canvas->updateCanvas();  // 更新画布以显示内容
  40.     }
  41. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 16:06:07

【花雕学编程】行空板K10系列实验之串口数据控制RGB

代码解读

1、串口监听:

使用 Serial.available() 检测串口是否有数据传入。

如果有数据,使用 Serial.read() 读取数据并存储到变量 mind_n_ChuanKouShuJu 中。

2、颜色切换:

根据接收的数据值切换 LED 和屏幕的颜色。

当收到字符 'R'(表示红色)时:

将 LED 设置为红色。

将屏幕背景设置为红色,并显示文字 "红色"。

当收到字符 'G'(表示绿色)时:

将 LED 设置为绿色。

将屏幕背景设置为绿色,并显示文字 "绿色"。

当收到字符 'B'(表示蓝色)时:

将 LED 设置为蓝色。

将屏幕背景设置为蓝色,并显示文字 "蓝色"。

4、视觉更新:

每次切换颜色后,都会调用 k10.canvas->updateCanvas() 方法更新画布,确保内容即时显示。

5、应用场景

该代码可用于通过串口指令控制 LED 灯光和屏幕颜色,例如用于调试、演示或互动项目。


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 16:08:54

【花雕学编程】行空板K10系列实验之串口数据控制RGB

Mind+图形编程

【花雕学编程】行空板K10系列实验之串口数据控制RGB图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 16:11:41

【花雕学编程】行空板K10系列实验之串口数据控制RGB

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

【花雕学编程】行空板K10系列实验之串口数据控制RGB图1

【花雕学编程】行空板K10系列实验之串口数据控制RGB图3

【花雕学编程】行空板K10系列实验之串口数据控制RGB图2

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2025-2-28 16:14:29

【花雕学编程】行空板K10系列实验之串口数据控制RGB

实验场景图

【花雕学编程】行空板K10系列实验之串口数据控制RGB图3

【花雕学编程】行空板K10系列实验之串口数据控制RGB图1

【花雕学编程】行空板K10系列实验之串口数据控制RGB图2
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail