rzyzzxw 发表于 2018-11-9 23:13:23

【掌控】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: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

陕大鹍 发表于 2019-11-6 17:44
不错,学习了

老帖子了。{:5_120:}
页: [1]
查看完整版本: 【掌控】mpython-25…有了新固件,我的掌控会“唱歌”