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

项目简介
按下复位键开始,就会显示“中秋上元舞火龙”的字幕并通过语音合成进行播报,同时播放喜庆的背景音乐。我们可以通过控制行空板翻转的姿势控制火龙的移动方向,横向摆放行空板,当我们向左倾斜时,火龙会向左移动;当我们向右倾斜时,火龙会向右移动。
材料清单
- 行空板K10 X1
- TF卡 X1
先将需要的音频转为wav格式,再存入TF卡中,再将TF卡插入行空板当中。

程序设计

代码
/*!
* 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;
}
}
}
评论