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

掌上小小博物馆——基于行空板的天水麦积山介绍机 简单

头像 风隐 2025.06.29 12 0

这段时间正好是孩子地生会考和岳父岳母新房装修,老两口住了50多年的旧楼房总算要拆了,全楼搬迁到新建楼。地生会考和新房装修两件事赶到了一起,我累坏了。而且我在给家里积攒的大量旧物件做柜子时把手弄伤了,很严重流了好多血缝了三针。每天帮忙买东西,出主意,搬东西,晚上盯孩子背地生。直到今天早晨才彻底搬完,赶紧把行空板M10扩展组合运用赛作业完成。

这几天我想了好几个点子,奈何月底旧楼房就要封闭,新楼要入住,这些点子就来不及实现了。打算假期集中精力把几个点子都做成作品,传到造物记。一起关系好的老师问起我的科创作品,我把以前造物记做的好的作品发给了他。突然发现以前的有点作品缺少AI的加成,有AI的作品缺少声音,这不又是一个灵感吗?完善自己以前的作品,也是创新啊!

为作品掌上小小博物馆——麦积山浏览器加入AI语音合成和声音播放。(https://makelog.dfrobot.com.cn/article-313588.html)

一、硬件

行空板M10、行空板M10扩展板组合、免驱动喇叭

10.jpg

9.jpg

一、全部程序

程序在原有基础上增加了讯飞语音合成功能。

1.png

讯飞语音是Mind+自带的,不用搜用户库。

screenshots-上传(删除API).mp-1751173558987.png

1、主程序

1.主程序.png

作用:显示初始界面,对各对象初始化。不需要显示的先隐藏起来,需要的显示出来。对象包括笑脸、快去看看按钮、各个文字、二维码、四个按钮、各个图片。在原程序的基础上初始化部分将四个图片的语音讲解提前合成好,以免后期合成点击按钮要等待2分钟才出图片和发出声音。

2、回调函数1

2.回调函数1.png

作用:当按下快去看看按钮时,出现第二个界面。第二个界面有文字和二维码、各个按钮。

3、回调函数2

3.回调函数2.png

作用:点击麦积山美图按钮时,显示麦积山全图、麦积山缩略图和定位框。新增加免驱喇叭播放提前合成的声音文件maijisahn.wav。

4、回调函数3

4.回调函数3.png

作用:点击东崖大佛按钮时,显示东崖大佛图片和返回按钮。新增加免驱喇叭播放提前合成的声音文件dongyadafo.wav。

5、回调函数4

5.回调函数4.png

作用:点击菩萨按钮时,显示菩萨图片和返回按钮。新增加免驱喇叭播放提前合成的声音文件pusha.wa。

6、回调函数5

6.回调函数5.png

作用:点击小沙弥按钮时,显示小沙弥图片和返回按钮。新增加免驱喇叭播放提前合成的声音文件xiaoshami.wav。

3、回调函数6

7.回调函数6.png

作用:点击返回按钮时,返回第二个届面。

8、定位函数,返回x、y坐标

8.定位函数.png

作用:手触摸行空板屏幕时,移动麦积山图片。

三、python代码

代码
#  -*- coding: UTF-8 -*-

# MindPlus
# Python
import time
from unihiker import GUI
from unihiker import Audio
from df_xfyun_speech import XfTts

# 事件回调函数
def mouse_move(x,y):
    global xZuoBiao
    global yZuoBiao
    if (flag == 1):
        if (x >= 160):
            xZuoBiao = (xZuoBiao - 10)
            # 图片实在左移,下方除以-10表示右移。实际就是图片和
            麦积山图.config(x=xZuoBiao)
            定位.config(x=(xZuoBiao / -10))
        elif (x <= 80):
            xZuoBiao = (xZuoBiao + 10)
            麦积山图.config(x=xZuoBiao)
            定位.config(x=(xZuoBiao / -10))
        if (y >= 160):
            yZuoBiao = (yZuoBiao - 5)
            麦积山图.config(y=yZuoBiao)
            定位.config(y=(yZuoBiao / -10))
        elif (y < 160):
            yZuoBiao = (yZuoBiao + 5)
            麦积山图.config(y=yZuoBiao)
            定位.config(y=(yZuoBiao / -10))
def button_click2():
    global flag
    flag = 1
    按钮.config(x=240)
    东崖大佛按钮.config(x=240)
    菩萨按钮.config(x=240)
    小沙弥按钮.config(x=240)
    文字1.config(x=240)
    文字2.config(x=240)
    文字3.config(x=240)
    二维码.config(x=240)
    返回按钮.config(x=240)
    麦积山图.config(x=0)
    time.sleep(0.5)
    缩略图.config(x=1)
    缩略图框.config(x=0)
    time.sleep(0.5)
    定位.config(x=0)
    u_audio.start_play("maijisha.wav")
def button_click1():
    圆形.remove()
    微笑.remove()
    进入按钮.remove()
    文字1.config(x=57)
    文字2.config(x=65)
    文字3.config(x=67)
    二维码.config(x=65)
    按钮.config(x=130)
    东崖大佛按钮.config(x=20)
    菩萨按钮.config(x=130)
    小沙弥按钮.config(x=20)
def button_click3():
    按钮.config(x=240)
    东崖大佛按钮.config(x=240)
    菩萨按钮.config(x=240)
    小沙弥按钮.config(x=240)
    东崖大佛.config(x=0)
    time.sleep(0.5)
    返回按钮.config(x=190)
    u_audio.start_play("dongyadafo.wav")
def button_click4():
    按钮.config(x=240)
    东崖大佛按钮.config(x=240)
    菩萨按钮.config(x=240)
    小沙弥按钮.config(x=240)
    菩萨.config(x=0)
    time.sleep(0.5)
    返回按钮.config(x=190)
    u_audio.start_play("pusha.wav")
def button_click5():
    按钮.config(x=240)
    东崖大佛按钮.config(x=240)
    菩萨按钮.config(x=240)
    小沙弥按钮.config(x=240)
    小沙弥.config(x=0)
    time.sleep(0.5)
    返回按钮.config(x=190)
    u_audio.start_play("xiaoshami.wav")
def button_click6():
    麦积山图.config(x=240)
    缩略图.config(x=242)
    东崖大佛.config(x=240)
    菩萨.config(x=240)
    小沙弥.config(x=240)
    缩略图框.config(x=242)
    定位.config(x=240)
    文字1.config(x=57)
    文字2.config(x=65)
    文字3.config(x=67)
    二维码.config(x=65)
    按钮.config(x=130)
    东崖大佛按钮.config(x=20)
    菩萨按钮.config(x=130)
    小沙弥按钮.config(x=20)
    返回按钮.config(x=240)
    xZuoBiao = 0
    yZuoBiao = 0
    flag = 0
def on_buttona_click_callback():
    文字1.config(x=57)
    文字2.config(x=65)
    文字3.config(x=67)
    二维码.config(x=65)
    按钮.config(x=130)
    东崖大佛按钮.config(x=20)
    菩萨按钮.config(x=130)
    小沙弥按钮.config(x=20)
    麦积山图.config(x=240)
    缩略图.config(x=242)
    缩略图框.config(x=242)
    定位.config(x=240)

appId = "undefined"
apiKey ="undefined"
apiSecret = "undefined"
options = {}
business_args = {"aue":"raw","vcn":"xiaoyan","tte":"utf8","speed":50,"volume":8,"pitch":50,"bgs":0}
options["business_args"] = business_args
u_gui=GUI()
u_audio = Audio()
tts = XfTts(appId, apiKey, apiSecret, options)
u_gui.on_mouse_move(mouse_move)
u_gui.on_a_click(on_buttona_click_callback)
圆形=u_gui.draw_circle(x=120,y=140,r=50,width=3,color="#FF9900")
微笑=u_gui.draw_emoji(emoji="Smile",x=120,y=140,duration=0.2)
微笑.config(origin="center")
微笑.config(w=100)
进入按钮=u_gui.add_button(text="快去看看~",x=65,y=255,w=100,h=30,onclick=button_click1)
文字1=u_gui.draw_text(text="掌上小小博物馆",x=240,y=10,font_size=12, color="#CC33CC")
文字2=u_gui.draw_text(text="——麦积山",x=240,y=40,font_size=12, color="#CC33CC")
文字3=u_gui.draw_text(text="扫码进入网页",x=240,y=70,font_size=12, color="#FF0000")
二维码=u_gui.draw_image(image="二维码.png",x=240,y=95)
按钮=u_gui.add_button(text="麦积山美图",x=240,y=255,w=90,h=30,onclick=button_click2)
麦积山图=u_gui.draw_image(image="全图.png",x=240,y=0)
缩略图=u_gui.draw_image(image="全图.png",x=240,y=2)
东崖大佛按钮=u_gui.add_button(text="东崖大佛",x=240,y=205,w=90,h=30,onclick=button_click3)
东崖大佛=u_gui.draw_image(image="1.png",x=240,y=0)
菩萨按钮=u_gui.add_button(text="菩萨",x=240,y=205,w=90,h=30,onclick=button_click4)
菩萨=u_gui.draw_image(image="3.png",x=240,y=0)
小沙弥按钮=u_gui.add_button(text="小沙弥",x=240,y=255,w=90,h=30,onclick=button_click5)
小沙弥=u_gui.draw_image(image="4.png",x=240,y=0)
# 高设为50,50表示实际的高,不是比例。宽等比例变小
缩略图.config(h=61)
缩略图框=u_gui.draw_rect(x=242,y=0,w=134,h=62,width=2,color="#FF0000")
定位=u_gui.draw_rect(x=240,y=0,w=24,h=32,width=1,color="#00FFFF")
返回按钮=u_gui.add_button(text="返回",x=240,y=280,w=40,h=30,onclick=button_click6)
tts.synthesis("中间主佛是释迦牟尼佛,展现佛的庄严与慈悲,体现佛教核心信仰。两侧胁侍菩萨,造型优美,姿态各异,传达出温婉、虔敬等意涵,辅助烘托主佛神圣氛围 。", "dongyadafo.wav")
tts.synthesis("这尊佛像是 44 窟龛造像,传说与纪念西魏文皇后乙弗氏相关,有着独特历史文化背景 。", "pusha.wav")
tts.synthesis("这是第133 窟的 “东方微笑” 小沙弥造像,它以标志性微笑,传递着对安宁美好生活的向往,成为麦积山石窟传神之作", "xiaoshami.wav")
tts.synthesis("麦积山位于甘肃天水麦积区,因山形酷似麦垛得名,是国家 五A 级旅游景区,中国四大石窟之一麦积山石窟所在地,有 “陇上林泉之冠” 美誉,融合自然与石窟艺术,见证千年文化传承 。", "maijisha.wav")
xZuoBiao = 0
yZuoBiao = 0
flag = 0
while True:
    pass

四、程序运行

1. 欢迎界面

2.png

11.jpg

2. 主界面

3.png

12.jpg

3. 东崖大佛

4.png

13.jpg

4.菩萨

5.png

14.jpg

5.小沙弥

6.png

15.jpg

6. 麦积山美图

7.png

16.jpg

7. 扫码进入网页

8.png

五、小红书视频网址

https://www.xiaohongshu.com/explore/6860da6a000000000d01b528?xsec_token=YBiIQ6ftzJXPn-BobfYXeIiVXD_UFVQ2ADOHppmy1LIKk%3D&xsec_source=pc_creatormng

评论

user-avatar