【掌控】mpython-25…有了新固件,我的掌控会“唱歌”
掌控团队的攻城狮团队很勤奋,不断的创造新的内容出来。比如,今天分享给大家的掌控音乐固件。视频展示先:
http://v.youku.com/v_show/id_XMzkxMTg3MTc3Ng==.html?spm=a2h3j.8428770.3416059.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
2、选择 SPIDownload ,然后浏览并选中刚下载的掌控板固件target.bin,并设置地址是0。
将CrystallFreq设为40M,SPI SPEED 设为40MHz,SPI MODE设为DIO,FLASH SIZE改为64MBit,串口号设置为实际串口,波特率1152000。
点击START,掌控板同时按下a,b键持续2秒后松开,此时掌控板将进入Download模式。固件下载中,如下图。
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、播放内置音乐的功能
from mpython import *
import music
music.play(music.NYAN)
2、自定义乐曲
解读:C1:4代表钢琴C区1键,持续时间4C#4:1, #表示C4键旁边的黑键要玩转它,还要学点音乐知识呢。
两只老虎
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)
3、触摸选曲
视频中的项目例程
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)
4、自定义音乐
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)
这么厉害的功能,喜欢音乐的伙伴玩起来吧。
例如编一曲超级玛丽,做一个游戏,用掌控玩起来如何。
学习更新固件,效果很好:)) rzegkly 发表于 2018-11-10 21:04
学习更新固件,效果很好
学习很快啊。;P 请问能不能将一段已有的音乐导入呢,比如某首歌的某部分 ywz 发表于 2018-12-27 16:10
请问能不能将一段已有的音乐导入呢,比如某首歌的某部分
另有一个帖子讲这样的功能,但是也有限制。只是曲库中的才行。 不错,学习了 陕大鹍 发表于 2019-11-6 17:44
不错,学习了
老帖子了。{:5_120:}
页:
[1]