驴友花雕 发表于 2024-12-1 19:07:04

【花雕学编程】行空板K10系列实验之图文头像荟萃



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

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



驴友花雕 发表于 2024-12-1 19:09:20

【花雕学编程】行空板K10系列实验之图文头像荟萃

屏幕显示相关积木


驴友花雕 发表于 2024-12-1 19:37:26

【花雕学编程】行空板K10系列实验之图文头像荟萃

【花雕学编程】行空板K10系列实验之屏幕显示图文头像荟萃

实验开源代码

#include "unihiker_k10.h"
#include "arduino_image_cache.h"

// 创建对象
uint8_t screen_dir = 2; // 设定屏幕方向
UNIHIKER_K10 k10; // 创建UNIHIKER_K10对象

// 主程序开始
void setup() {
    k10.begin(); // 初始化UNIHIKER_K10
    k10.initScreen(screen_dir); // 初始化屏幕并设定方向
    k10.creatCanvas(); // 创建画布
}

void loop() {
    k10.setScreenBackground(0x000000); // 设置屏幕背景颜色为黑色
    k10.canvas->canvasText("头像荟萃", 75, 150, 0xFFFFFF, k10.canvas->eCNAndENFont24, 50, true); // 在画布上绘制文字,颜色为白色
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(2000); // 延迟2000毫秒(2秒)

    k10.setScreenBackground(0xFFFFFF); // 设置屏幕背景颜色为白色
    k10.canvas->canvasText("头像荟萃", 75, 150, 0x000000, k10.canvas->eCNAndENFont24, 50, true); // 在画布上绘制文字,颜色为黑色
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(2000); // 延迟2000毫秒(2秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data1); // 在画布上绘制位图1
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data2); // 在画布上绘制位图2
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data3); // 在画布上绘制位图3
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data4); // 在画布上绘制位图4
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data5); // 在画布上绘制位图5
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data6); // 在画布上绘制位图6
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data7); // 在画布上绘制位图7
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data8); // 在画布上绘制位图8
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data9); // 在画布上绘制位图9
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasDrawBitmap(0, 0, 240, 320, image_data10); // 在画布上绘制位图10
    k10.canvas->updateCanvas(); // 更新画布显示
    delay(1000); // 延迟1000毫秒(1秒)

    k10.canvas->canvasClear(); // 清空画布
}


驴友花雕 发表于 2024-12-1 19:39:13

【花雕学编程】行空板K10系列实验之图文头像荟萃

代码解读

1、头文件包含:

#include "unihiker_k10.h"和#include "arduino_image_cache.h"用于包含必要的头文件,以便使用UNIHIKER_K10库和图像缓存功能。

2、对象创建:

通过uint8_t screen_dir = 2;设定屏幕方向,并创建一个UNIHIKER_K10对象k10,以便后续使用。

3、初始化设置:

在setup函数中,调用k10.begin()初始化对象,使用k10.initScreen(screen_dir)初始化屏幕方向,通过k10.creatCanvas()创建画布。

4、位图与文字绘制与更新:

在loop函数中,通过k10.setScreenBackground方法设置屏幕背景颜色,通过k10.canvas->canvasText方法在画布上绘制文字,通过k10.canvas->canvasDrawBitmap方法在画布上绘制位图,并通过k10.canvas->updateCanvas方法更新画布显示。每个元素的显示持续设定的时间,通过delay设置延迟。

5、画布清空:

使用k10.canvas->canvasClear()方法清空画布,然后再次显示新的内容,从而实现画布的动态更新和显示。


驴友花雕 发表于 2024-12-1 19:41:04

【花雕学编程】行空板K10系列实验之图文头像荟萃

Mind+图形编程



驴友花雕 发表于 2024-12-1 19:57:14

【花雕学编程】行空板K10系列实验之图文头像荟萃

实验场景图




驴友花雕 发表于 2024-12-1 19:58:37

【花雕学编程】行空板K10系列实验之图文头像荟萃




驴友花雕 发表于 2024-12-1 19:59:48

【花雕学编程】行空板K10系列实验之图文头像荟萃

实验场景图动态图


hnyzcj 发表于 2024-12-1 21:16:38

这个图像怪好看的

驴友花雕 发表于 2024-12-4 09:26:31

hnyzcj 发表于 2024-12-1 21:16
这个图像怪好看的

谢谢版主的鼓励
页: [1]
查看完整版本: 【花雕学编程】行空板K10系列实验之图文头像荟萃