

行空板 K10 是契合国家中小学 AI 普及教育要求的国产教学硬件。它高度集成 AI 视觉、语音识别、传感、联网等功能,零基础也能上手,完美匹配小学阶段 “体验、认知、应用、创作” 的教学目标。学习过程以图形化编程为主,在动手实践中锻炼逻辑思维与解决问题的能力,同步普及人工智能知识、数字安全与科技伦理。课程内容贴近日常生活,可延伸至科技活动与科创赛事。设备安全耐用、开课门槛低,便于校园普及。在掌握前沿科技的同时,也能让孩子感受国产科创实力,树立创新意识与科技自信,全面提升数字综合素养。
主要特点
集成摄像头&内置算法,可进行离线图像检测
集成麦克风&内置算法,可进行离线语音识别
集成扬声器&内置算法,可进行离线语音合成
2.8寸彩色屏幕,数据展示更清晰
集成度高,利于教学
接口丰富,兼容软件多,扩展性好

屏幕显示相关积木

屏幕换向与像素规格

行空板K10系列实验之随机位置随机大小填充圆形
实验开源代码
#include "unihiker_k10.h"
// 创建对象
uint8_t screen_dir=2;
UNIHIKER_K10 k10;
// 主程序开始
void setup() {
k10.begin();
k10.initScreen(screen_dir);
k10.creatCanvas();
}
void loop() {
k10.setScreenBackground(0x00FF00);
k10.canvas->canvasCircle((random(50, 120+1)), (random(60, 230+1)), (random(30, 120+1)), 0xFF0000, 0x000000, true);
k10.canvas->updateCanvas();
delay(1000);
k10.canvas->canvasClear();
k10.setScreenBackground(0x0000FF);
k10.canvas->canvasCircle((random(50, 120+1)), (random(70, 230+1)), (random(30, 120+1)), 0x00FF00, 0xCC33CC, true);
k10.canvas->updateCanvas();
delay(1000);
k10.canvas->canvasClear();
k10.setScreenBackground(0xFF0000);
k10.canvas->canvasCircle((random(50, 120+1)), (random(80, 230+1)), (random(30, 120+1)), 0x0000FF, 0xFFFF00, true);
k10.canvas->updateCanvas();
delay(1000);
k10.canvas->canvasClear();
}
代码解读
该代码基于行空板 K10 官方库 unihiker_k10.h,实现:三色背景轮换 + 每秒随机画圆、清屏的动态效果,Arduino 框架写法。
一、头部与全局变量
#include "unihiker_k10.h" // 引入K10硬件驱动库,封装屏幕、画布、IO等底层操作
uint8_t screen_dir=2; // 屏幕方向参数:2=屏幕旋转配置(0/1/2/3对应不同横竖屏)
UNIHIKER_K10 k10; // 实例化K10硬件对象,后续所有屏幕操作都依靠k10对象
二、setup ():上电只运行 1 次,硬件初始化
void setup() {
k10.begin(); // K10整机初始化:初始化屏幕、外设、底层驱动
k10.initScreen(screen_dir); // 根据screen_dir=2配置屏幕显示方向
k10.creatCanvas(); // 创建画布对象canvas,所有绘图都在画布上缓存,最后统一刷新到屏幕
}
K10 绘图逻辑:先在内存画布绘图→updateCanvas 统一刷到屏幕,避免频繁刷屏闪烁。
三、loop ():死循环重复执行,核心动画逻辑
整体循环周期:3 秒一轮换(蓝→绿→红背景,各停留 1 秒)
第一段:绿色背景 (0x00FF00),停留 1s
k10.setScreenBackground(0x00FF00); // 设置屏幕底色:绿色 RGB=绿
// 在画布随机画圆:canvasCircle(x,y,半径,填充色,描边色,是否填充)
k10.canvas->canvasCircle(
random(50, 120+1), // X坐标:50~120随机
random(60, 230+1), // Y坐标:60~230随机
random(30, 120+1), // 圆半径:30~120随机
0xFF0000, // 填充颜色:红色
0x000000, // 边框描边:黑色
true // true=开启内部填充
);
k10.canvas->updateCanvas(); // 把画布所有内容刷新到物理屏幕
delay(1000); // 保持画面1000ms=1秒
k10.canvas->canvasClear(); // 清空画布缓存(下一轮重新绘图)
第二段:蓝色背景 (0x0000FF),停留 1s
k10.setScreenBackground(0x0000FF); // 屏幕底色:蓝色
// 随机位置、随机大小画圆:填充绿色、紫边
k10.canvas->canvasCircle(random(50,121),random(70,231),random(30,121),0x00FF00,0xCC33CC,true);
k10.canvas->updateCanvas();
delay(1000);
k10.canvas->canvasClear();
第三段:红色背景 (0xFF0000),停留 1s
k10.setScreenBackground(0xFF0000); // 屏幕底色:红色
// 随机圆:填充蓝色、黄边
k10.canvas->canvasCircle(random(50,121),random(80,231),random(30,121),0x0000FF,0xFFFF00,true);
k10.canvas->updateCanvas();
delay(1000);
k10.canvas->canvasClear();
四、颜色格式说明(RGB565/24 位 RGB,K10 库统一用0xRRGGBB)
色值 颜色
0x00FF00绿色
0xFF0000红色
0x0000FF蓝色
0xCC33CC紫色
0xFFFF00黄色
0x000000黑色
五、整体运行效果总结
第 0~1s:绿底 + 红填充黑边框随机大圆
第 1~2s:蓝底 + 绿填充紫边框随机大圆
第 2~3s:红底 + 蓝填充黄边框随机大圆
3 秒结束立刻清屏,从头循环往复
Mind+图形编程

实验场景图 动态图









