6浏览
查看: 6|回复: 6

[K10教程] 【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯

[复制链接]
【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图1

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

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


【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图2

驴友花雕  高级技神
 楼主|

发表于 1 小时前

【花雕动手做】K10实验之音频录放WS2812背景音乐小灯

主打:音频录放模块

【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图1

相关说明

【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图2


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 1 小时前

【花雕动手做】K10实验之音频录放WS2812背景音乐小灯

辅助:屏幕显示相关积木

【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图1

LED控制模块

【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图2


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 1 小时前

【花雕动手做】K10实验之音频录放WS2812背景音乐小灯

【花雕动手做】行空板 K10 系列实验之音频录放 WS2812B 背景音乐小灯
实验开源代码

  1. // 引入行空板K10核心驱动头文件,封装屏幕、按键、RGB彩灯、音频等全部硬件接口
  2. #include "unihiker_k10.h"
  3. // 实例化行空板全局硬件对象,后续所有屏幕、灯光操作均通过k10调用
  4. UNIHIKER_K10 k10;
  5. // 屏幕显示方向参数:2代表屏幕正向显示,可修改0/1/2/3切换横竖屏翻转
  6. uint8_t      screen_dir=2;
  7. // 实例化音乐播放对象,用于播放内置预设旋律
  8. Music        music;
  9. // 板子上电/复位后仅执行一次的初始化函数
  10. void setup() {
  11.         // 初始化行空板底层硬件总线
  12.         k10.begin();
  13.         // 根据设定方向初始化屏幕驱动
  14.         k10.initScreen(screen_dir);
  15.         // 创建画布缓存,所有文字、图形绘制都在画布上完成再统一刷新屏幕
  16.         k10.creatCanvas();
  17.         // 设置屏幕背景色为纯白色(RGB十六进制 0xFFFFFF)
  18.         k10.setScreenBackground(0xFFFFFF);
  19.         // 在画布第3行打印蓝色标题文字
  20.         k10.canvas->canvasText("行空板K10系列实验", 3, 0x0000FF);
  21.         // 在画布第5行打印红色副标题文字
  22.         k10.canvas->canvasText("  WS2812音乐小灯", 5, 0xFF0000);
  23.         // 将画布内容刷新输出到实体屏幕,文字才会真正显示
  24.         k10.canvas->updateCanvas();
  25. }
  26. // 循环函数,setup执行完毕后无限重复运行
  27. void loop() {
  28.         // 播放内置预设旋律DADADADUM(短促提示音)
  29.         music.playMusic(DADADADUM);
  30.         // 程序阻塞延时1000毫秒(1秒)
  31.         delay(1000);
  32.         // 控制板载全部RGB彩灯(-1代表全部灯珠)点亮纯红色 0xFF0000
  33.         k10.rgb->write(-1, 0xFF0000);
  34.         delay(1000);
  35.         // 全部彩灯切换为青蓝色 0x00FFFF
  36.         k10.rgb->write(-1, 0x00FFFF);
  37.         delay(1000);
  38.         // 全部彩灯切换为纯蓝色 0x0000FF
  39.         k10.rgb->write(-1, 0x0000FF);
  40.         delay(1000);
  41. }
复制代码


回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 1 小时前

【花雕动手做】K10实验之音频录放WS2812背景音乐小灯

代码解读

一、头文件与全局对象定义

  1. #include "unihiker_k10.h"
复制代码

引入行空板 K10 官方底层库,封装了屏幕、RGB 彩灯、扬声器、按键、I2C 等全部硬件驱动,不用手动配置引脚。

  1. UNIHIKER_K10 k10;
复制代码

创建行空板主硬件实例,所有屏幕、灯光操作都依靠 k10 调用内部函数。

  1. uint8_t screen_dir=2;
复制代码

屏幕旋转参数,2 为正常正向显示,修改 0/1/3 可翻转屏幕、切换竖横屏。

  1. Music music;
复制代码

创建音乐播放器对象,内置多段预设旋律,直接调用即可播放提示音。

二、setup () 上电初始化函数
上电、复位只运行 1 次,负责硬件初始化与开机界面绘制:
k10.begin():初始化板载所有底层硬件总线;
k10.initScreen(screen_dir):按照设定方向初始化显示屏;
k10.creatCanvas():创建屏幕画布缓冲区,所有绘图先存在缓存,避免屏幕闪烁;
k10.setScreenBackground(0xFFFFFF):设置屏幕底色为白色;
canvasText(文字,行数,颜色):在画布指定行写入彩色文字;
updateCanvas():把缓存里的文字画面刷新到实体屏幕,文字才能显示。

三、loop () 无限循环主逻辑
setup 执行完成后,该函数会无限循环往复执行,完整流程:
music.playMusic(DADADADUM):播放内置短促提示音效;
delay(1000):阻塞等待 1 秒;
k10.rgb->write(-1, 0xFF0000):-1 代表控制全部板载 RGB 灯,参数 2 是十六进制颜色,当前亮红色;
间隔 1 秒切换青蓝色,再间隔 1 秒切换蓝色,再等待 1 秒回到循环开头,重复播放音乐、循环变色。

四、整体功能总结
程序上电后屏幕显示实验标题,之后持续循环:播放一段提示音乐 → 红、青、蓝三色 RGB 灯依次各亮 1 秒,无限往复。

回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 1 小时前

【花雕动手做】K10实验之音频录放WS2812背景音乐小灯

Mind+图形编程

【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图1
回复

使用道具 举报

驴友花雕  高级技神
 楼主|

发表于 1 小时前

【花雕动手做】K10实验之音频录放WS2812背景音乐小灯

本帖最后由 驴友花雕 于 2026-6-16 06:20 编辑

实验场景图与视频记录


【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图2

【花雕动手做】K10 实验之音频录放 WS2812 背景音乐小灯图1


回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail