73浏览
查看: 73|回复: 7

[K10项目分享] 【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

[复制链接]
【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图2

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

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


【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图1

驴友花雕  中级技神
 楼主|

发表于 6 天前

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

屏幕显示相关积木

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 天前

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

【花雕学编程】行空板K10系列实验之屏幕循环显示红蓝绿动态划线

实验开源代码

  1. #include "unihiker_k10.h"
  2. // 动态变量,表示起点和终点的X坐标
  3. volatile float mind_n_QiDianX, mind_n_ZhongDianX;
  4. // 创建UNIHIKER_K10对象并设置屏幕方向
  5. uint8_t screen_dir = 2;
  6. UNIHIKER_K10 k10;
  7. void setup() {
  8.     // 初始化UNIHIKER_K10对象
  9.     k10.begin();
  10.     k10.initScreen(screen_dir);
  11.    
  12.     // 创建并初始化画布
  13.     k10.creatCanvas();
  14.     k10.canvas->canvasSetLineWidth(1);
  15.    
  16.     // 设置屏幕背景颜色为黑色
  17.     k10.setScreenBackground(0x000000);
  18. }
  19. void loop() {
  20.     // 初始化起点和终点的X坐标
  21.     mind_n_QiDianX = 0;
  22.     mind_n_ZhongDianX = 240;
  23.     // 绘制从左到右的红色线条
  24.     while (!(mind_n_QiDianX == 240)) {
  25.         k10.canvas->canvasLine(mind_n_QiDianX, 0, mind_n_ZhongDianX, 320, 0xFF0000);
  26.         k10.canvas->updateCanvas();
  27.         mind_n_QiDianX += 4;
  28.         mind_n_ZhongDianX -= 4;
  29.     }
  30.     delay(1000);
  31.     k10.canvas->canvasClear();
  32.     delay(200);
  33.     // 初始化起点和终点的X坐标
  34.     mind_n_QiDianX = 0;
  35.     mind_n_ZhongDianX = 240;
  36.     // 绘制从右到左的绿色线条
  37.     while (!(mind_n_QiDianX == 240)) {
  38.         k10.canvas->canvasLine(mind_n_ZhongDianX, 320, mind_n_QiDianX, 0, 0x00FF00);
  39.         k10.canvas->updateCanvas();
  40.         mind_n_QiDianX += 4;
  41.         mind_n_ZhongDianX -= 4;
  42.     }
  43.     delay(1000);
  44.     k10.canvas->canvasClear();
  45.     delay(200);
  46.     // 初始化起点和终点的X坐标
  47.     mind_n_QiDianX = 0;
  48.     mind_n_ZhongDianX = 240;
  49.     // 绘制从右到左的蓝色线条
  50.     while (!(mind_n_QiDianX == 240)) {
  51.         k10.canvas->canvasLine(mind_n_ZhongDianX, 320, mind_n_QiDianX, 0, 0x0000FF);
  52.         k10.canvas->updateCanvas();
  53.         mind_n_QiDianX += 4;
  54.         mind_n_ZhongDianX -= 4;
  55.     }
  56.     delay(1000);
  57.     k10.canvas->canvasClear();
  58.     delay(200);
  59. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 天前

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

代码解读

1、动态变量与对象初始化:

动态变量mind_n_QiDianX和mind_n_ZhongDianX用于表示绘制线条的起点和终点的X坐标。

创建一个UNIHIKER_K10对象k10,并设置屏幕方向screen_dir。

2、画布与屏幕初始化:

在setup函数中,初始化k10对象,设置屏幕方向,并创建画布。

调用canvasSetLineWidth设置线条宽度为1,并通过setScreenBackground将屏幕背景颜色设置为黑色。

3、循环绘制线条:

在loop函数中,通过三次循环分别绘制红色、绿色和蓝色线条。

每次绘制时,先将起点和终点的X坐标初始化,然后通过canvasLine绘制线条,并调用updateCanvas更新画布。

4、线条颜色与方向控制:

每次绘制循环中,线条的颜色和绘制方向都不同,以展示不同的效果。

使用不同的颜色代码(红色0xFF0000、绿色0x00FF00、蓝色0x0000FF)来设置线条颜色。

5、延时与画布清除:

在每次绘制结束后,通过delay函数延时一段时间,确保线条显示一段时间后再清除画布。

调用canvasClear清除画布,以准备下一次的线条绘制。

该程序展示了如何使用UNIHIKER_K10库在屏幕上动态绘制线条,并通过循环和延时实现不同颜色和方向的线条效果。


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 天前

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

Mind+图形编程

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 天前

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

实验场景图  

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 天前

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图1

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 天前

【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线

实验场景图  动态图
【花雕学编程】行空板K10系列实验之屏幕红蓝绿动态划线图1
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail