在音乐相关API中有一个API,music.play()的描述为,如果给定一个音符列表,就按顺序播放每一个音符,基于这个条件,我们可以谱写我们自己喜欢的音乐。
每一个音符都表示为一串字符,代码如下: NOTE[octave][:duration]
例如:”A1:4”指的播放在第一个八度中音阶命名为A的音符,持续时间为4。
创建一个列表用于存放旋律音符(类似于存放坐标点图像的列表),例如
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","G4:2","A4:2","G4:2","F4:2","E4:4","C4:4","G4:2","A4:2","G4:2","F4:2","E4:4","C4:4","C4:4","G3:4","C4:8","C4:4","G3:4","C4:8"]
music.play(tune)
这段代码演奏了著名儿歌《两只老虎》:C大调每分钟120拍。
MicroPython可以帮助您简化这些代码。在您下次更改它们之前,它会记住八度音程和持续时间值。
上面的例子可以重新简写为:
import music
tune = [“C4:4”,“D”,“E”,“C”,“C”,“D”,“E”,“ C“,”E“,”F“,”G:8“,”E:4“,”F“,”G:8“]
music.play(tune)
注意八度音阶和持续时间值仅在它们发生变化时需要重写,这样书写更简单,更加明了。
from microbit import *
import music
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)
PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法。
相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。
MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。
使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。
渝中区“创新杯”优秀教育教学案例评选活动,是区内教师展示优秀教育教学成果、分享先进教育教学经验的重要品牌活动。为更好地推广获奖成果,搭建学术交流平台,
这个项目为学生提供了一个机会,让他们为他们在 Unplugged 活动中采访的伙伴创建一个 micro:pet。
近日,全球规模最大、最具影响力的众筹平台Kickstarter就发售了这样一种全新形态的桌宠机器人——全球首款桌面级树莓派双轮足机器人XGO-Rider。
本教程介绍如何使用生成代码平台编写一个简单的程序,该程序使用 Microsoft Data Streamer 加载项将实时数据从 BBC micro:bit 发送到 Microsoft Excel。
本文将向您展示一些关于2023年机器人和物联网的最有趣和创新的micro:bit项目。
machine.pwm是MicroPython中用于控制PWM输出的模块之一,它提供了一些方法和属性,用于设置和控制PWM输出的频率、占空比等参数,从而实现对各种应用场景的控制。
Pin 类是 machine 模块下面的一个硬件类,用于对引脚的配置和控制,提供对 GPIO 的操作方法。