2018-11-9 23:13:23 [显示全部楼层]
5732浏览
查看: 5732|回复: 6

[入门教程] 【掌控】mpython-25…有了新固件,我的掌控会“唱歌”

[复制链接]
掌控团队的攻城狮团队很勤奋,不断的创造新的内容出来。比如,今天分享给大家的掌控音乐固件。
视频展示先:

【掌控】mpython-25…有了新固件,我的掌控会“唱歌”图2
【掌控】mpython-25…有了新固件,我的掌控会“唱歌”图1


上面图片有一个能量站的公益推广二维码,里面有很多的创客教育课程,如果喜欢可以付费进入。
为知识付费,是对知识的一种尊重。

【【新动向,新提示,下面一部分内容只用来参考】】

【【在马上推出的新版mpython 0.2.5中,增加了刷入新版固件的功能】】


【【【掌控】掌控刷新固件了,新增音乐库,方法超级简单哦
https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=272202】】

【帖子写得早,有更新  2018.11.13】这个固件还没有正式推出,因为软件的固件升级功能还没做好。
(等官方有了更加方便易用的固件升级软件后,我帖子再更新下。)
所以这里我不代表官方,只是给想尝鲜的朋友,如果你愿意自己刷这个固件玩,可以试试。

【小提示】刷固件前请你保存自己掌控板上的代码文件,刷固件将会清空板子里的文件。

下面讲一下刷固件的方法。
参考帮助文档:
https://mpython.readthedocs.io/zh/latest/board/flashburn.html

1、烧录工具使用乐鑫官网提供的下载软件 ESPFlashDownloadTool
【掌控】mpython-25…有了新固件,我的掌控会“唱歌”图4
2、选择 SPIDownload ,然后浏览并选中刚下载的掌控板固件target.bin,并设置地址是0。
将CrystallFreq设为40M,SPI SPEED 设为40MHz,SPI MODE设为DIO,FLASH SIZE改为64MBit,串口号设置为实际串口,波特率1152000。
点击START,掌控板同时按下a,b键持续2秒后松开,此时掌控板将进入Download模式。固件下载中,如下图。
【掌控】mpython-25…有了新固件,我的掌控会“唱歌”图5
3、等待一会儿,固件刷入成功。

4、在mpython中连接掌控,点击文件按钮,发现里面只有boot.py一个文件。
右击,刷入mpython.py库文件。
等文件列表刷新完成,就可以用music写代码了。

【【上面一段可以跳过去了】】
【【刷入带音乐库新固件的方法在另一个帖子里,后面可能有更多新固件出来,都会用到这个方法的】】
【【刷固件了,超简单】】

music功能完全兼容micro:bit的,可以参考micro:bit的文档music部分
可以参考下面网页:
a、http://docs.dfrobot.com.cn/bxy/music.html
b、https://microbit-micropython.readthedocs.io/en/latest/music.html

【开始写代码】
1、播放内置音乐的功能
[mw_shl_code=python,true]from mpython import *
import music

music.play(music.NYAN)[/mw_shl_code]
【掌控】mpython-25…有了新固件,我的掌控会“唱歌”图6

2、自定义乐曲
解读:C1:4代表钢琴C区1键,持续时间4  C#4:1, #表示C4键旁边的黑键  要玩转它,还要学点音乐知识呢。
【掌控】mpython-25…有了新固件,我的掌控会“唱歌”图8
两只老虎

[mw_shl_code=python,true]from mpython import *
import music

tune = ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4",
        "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"]
music.play(tune)[/mw_shl_code]

3、触摸选曲
视频中的项目例程

[mw_shl_code=python,true]from mpython import *
import music

display.fill(0)
display.DispChar('pleas touchPad', 16, 16)
display.show()
while True:
    if touchPad_P.read() < 100:
        display.fill(0)
        display.DispChar('music.BADDY', 16, 16)
        display.show()
        rgb.fill((0, 10, 0))
        rgb.write()
        music.play(music.BADDY)        
    elif touchPad_Y.read() < 100:
        display.fill(0)
        display.DispChar('music.BIRTHDAY', 16, 16)
        display.show()
        rgb.fill((0, 10, 10))
        rgb.write()
        music.play(music.BIRTHDAY)        
    elif touchPad_T.read() < 100:
        display.fill(0)
        display.DispChar('music.NYAN', 16, 16)
        display.show()
        rgb.fill((10, 10, 0))
        rgb.write()
        music.play(music.NYAN)
    elif touchPad_H.read() < 100:
        display.fill(0)
        display.DispChar('music.PYTHON', 16, 16)
        display.show()
        rgb.fill((10, 0, 10))
        rgb.write()
        music.play(music.PYTHON)
    elif touchPad_O.read() < 100:
        display.fill(0)
        display.DispChar('music.PRELUDE', 16, 16)
        display.show()
        rgb.fill((50, 10, 0))
        rgb.write()
        music.play(music.PRELUDE)
    elif touchPad_N.read() < 100:
        display.fill(0)
        display.DispChar('music.ODE', 16, 16)
        display.show()
        rgb.fill((10, 10, 0))
        rgb.write()
        music.play(music.ODE)
        [/mw_shl_code]

4、自定义音乐

[mw_shl_code=python,true]from mpython import *
import music
# play Prelude in C.

notes = [ 'c4:1', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5', 'c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5', 'b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5', 'b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5', 'c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5', 'c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5', 'c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5', 'b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5', 'b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5', 'b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'd3', 'a', 'd4', 'f#', 'c5', 'd4', 'f#', 'c5', 'd3', 'a', 'd4', 'f#', 'c5', 'd4', 'f#', 'c5', 'g3', 'b', 'd4', 'g', 'b', 'd', 'g', 'b', 'g3', 'b3', 'd4', 'g', 'b', 'd', 'g', 'b' ]
music.play(notes)[/mw_shl_code]

这么厉害的功能,喜欢音乐的伙伴玩起来吧。
例如编一曲超级玛丽,做一个游戏,用掌控玩起来如何。
【掌控】mpython-25…有了新固件,我的掌控会“唱歌”图7

下载附件target.rar





rzegkly  版主

发表于 2018-11-10 21:04:42

学习更新固件,效果很好:))
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-11-11 08:33:57

rzegkly 发表于 2018-11-10 21:04
学习更新固件,效果很好

学习很快啊。;P
回复

使用道具 举报

ywz  学徒

发表于 2018-12-27 16:10:03

请问能不能将一段已有的音乐导入呢,比如某首歌的某部分
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-12-28 07:48:48

ywz 发表于 2018-12-27 16:10
请问能不能将一段已有的音乐导入呢,比如某首歌的某部分

另有一个帖子讲这样的功能,但是也有限制。只是曲库中的才行。
回复

使用道具 举报

陕大鹍  见习技师

发表于 2019-11-6 17:44:11

不错,学习了
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2019-11-6 18:16:11


老帖子了。
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail