回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【行空板 K10】 人机交互作品《中秋上元舞火龙》 简单

头像 自由的鹤 2025.01.25 56 0

项目来源

中秋节不仅是吃月饼、赏月的日子,在佛山的上元村,还有一种别具一格的传统——舞火龙!
每年农历八月十五、十六的夜晚,村民们会用水草扎成龙头和龙身,插上点燃的香,舞动"火龙"穿梭在街巷间,祈求平安与好运。

体验人机交互.png

项目简介

按下复位键开始,就会显示“中秋上元舞火龙”的字幕并通过语音合成进行播报,同时播放喜庆的背景音乐。我们可以通过控制行空板翻转的姿势控制火龙的移动方向,横向摆放行空板,当我们向左倾斜时,火龙会向左移动;当我们向右倾斜时,火龙会向右移动。

材料清单

  • 行空板K10 X1
  • TF卡 X1

先将需要的音频转为wav格式,再存入TF卡中,再将TF卡插入行空板当中。

f82652ff0fb6286bc6422a58296c5ae.jpg

 

程序设计

积木代码.png

代码
/*!
 * MindPlus
 * esp32s3bit
 *
 */
#include "asr.h"
#include "unihiker_k10.h"
#include "arduino_image_cache.h"

// 动态变量
volatile float mind_n_x;
// 创建对象
UNIHIKER_K10 k10;
uint8_t      screen_dir=3;
ASR          asr;
Music        music;


// 主程序开始
void setup() {
	k10.begin();
	k10.initScreen(screen_dir);
	k10.creatCanvas();
	asr.setAsrSpeed(2);
	k10.initSDFile();
	k10.canvas->canvasClear();
	k10.setScreenBackground(0x000000);
	k10.canvas->canvasText("中秋上元舞火龙", 75, 10, 0xFFFF00, k10.canvas->eCNAndENFont24, 50, false);
	k10.canvas->updateCanvas();
	asr.speak("中秋上元舞火龙");
	music.playTFCardAudio("S:/China江湖.wav");
}
void loop() {
	if ((k10.isGesture(TiltForward))) {
		mind_n_x = 240;
		while (!(mind_n_x<=-220)) {
			k10.canvas->canvasDrawBitmap(mind_n_x,100,240,120,image_data1);
			k10.canvas->updateCanvas();
			mind_n_x -= 20;
		}
	}
	if ((k10.isGesture(TiltBack))) {
		mind_n_x = -120;
		while (!(mind_n_x>=340)) {
			k10.canvas->canvasDrawBitmap(mind_n_x,100,240,120,image_data2);
			k10.canvas->updateCanvas();
			mind_n_x += 20;
		}
	}
}

评论

user-avatar