【花雕学编程】行空板 K10 系列实验之屏幕显示随机位置满屏“太酷了”

2024-11-3028
AI 快速预览详细 收起
本实验介绍了如何使用行空板K10实现屏幕随机位置显示文字的效果。通过引入unihiker_k10.h库文件,创建UNIHIKER_K10实例k10,并在loop()函数中使用random()函数生成随机坐标,在屏幕上绘制红色和蓝色的“哇,太酷了!”文本。通过不断更新和清除画布,实现了动态显示效果。该实验适用于STEM教育场景,可以激发孩子的编程兴趣。

00 (01).jpeg

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

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

 

0-5.jpg

屏幕显示相关积木

 

03.jpg

【花雕学编程】行空板 K10 系列实验之屏幕显示随机位置满屏“太酷了”

实验开源代码
 

代码
#include "unihiker_k10.h" // 引入行空板K10的库文件,这个库文件包含了控制K10板的函数和定义。

// 创建对象
uint8_t screen_dir = 3; // 定义一个名为screen_dir的变量,用于存储屏幕的方向设置,这里设置为3。
UNIHIKER_K10 k10; // 创建一个UNIHIKER_K10类型的实例k10,用于访问和控制K10板上的功能。

// 主程序开始
void setup() {
    k10.begin(); // 初始化K10板,准备硬件接口和配置。
    k10.initScreen(screen_dir); // 根据screen_dir变量初始化屏幕的方向。
    k10.creatCanvas(); // 创建画布,用于在屏幕上绘制图形和文本。
    k10.setScreenBackground(0xFFFFFF); // 设置屏幕的背景颜色为白色(0xFFFFFF是十六进制颜色代码)。
}

void loop() {
    // 第一个循环:显示红色文本
    for (int index = 0; index < 10; index++) {
        k10.canvas->canvasText("哇,太酷了!", (random(10, 180+1)), (random(10, 220+1)), 0xFF0000, k10.canvas->eCNAndENFont24, 50, true); // 在随机位置绘制红色文本“哇,太酷了!”,使用24号字体,透明度为50,设置为粗体。
        k10.canvas->updateCanvas(); // 更新画布,将绘制的内容显示到屏幕上。
        delay(600); // 等待600毫秒。
        k10.canvas->canvasClear(); // 清除画布上的所有内容。
        delay(100); // 等待100毫秒,以便观察清除效果。
    }
    
    // 第二个循环:显示蓝色文本
    for (int index = 0; index < 10; index++) {
        k10.canvas->canvasText("哇,太酷了!", (random(10, 180+1)), (random(10, 220+1)), 0x0000FF, k10.canvas->eCNAndENFont24, 50, true); // 在随机位置绘制蓝色文本“哇,太酷了!”,使用24号字体,透明度为50,设置为粗体。
        k10.canvas->updateCanvas(); // 更新画布,将绘制的内容显示到屏幕上。
        delay(600); // 等待600毫秒。
        k10.canvas->canvasClear(); // 清除画布上的所有内容。
        delay(100); // 等待100毫秒,以便观察清除效果。
    }
}

代码解读:

1、动态文本显示:代码通过在循环中随机改变文本位置和颜色,实现了动态显示文本的效果。

2、随机位置:使用random()函数生成随机的X和Y坐标,使得文本在屏幕上随机位置显示。

3、颜色变化:通过改变canvasText()函数的颜色参数,实现了文本颜色在红色和蓝色之间的变化。

4、透明度和字体样式:通过设置透明度和字体样式参数,增加了文本的视觉效果。

5、循环显示和清除:通过在循环中不断更新画布和清除画布,实现了文本的连续显示和消失的效果,类似于闪烁或滚动的效果。这种效果可以用于吸引注意力或作为简单的动画演示。

实验场景图  动态图

 

00032.gif

Mind+图形编程

 

04-1.jpg

实验场景图 

 

04-2.jpg
04-3.jpg

创作许可协议

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

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