加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

UpyCraft-micropython设计- Microbit播放以及图文显示

2017/08/11
83
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

学习Python语言需要与实例相结合才能事半功倍。傻瓜教程来啦───使用Microbit播放音乐,显示图像或文字。

目的:

  • 循环: 重复执行一段代码
  • 列表: 存放多个数据或命令
  • 条件语句: 通过if语句,让代码来判断条件

技能:

  • 如何在microbit的屏幕上显示图像或文字
  • 如何发现microbit的按键被按下
  • 如何通过扬声器来播放音乐

所需软硬件

  • UpyCraft-Micropython V0.24
  • Micro:bit主板
  • 数据线

扬声器Microbit与扬声器连接示意图:

连线效果图:

运行成功效果:

、代码详解:

4 5 from microbit import * import music

第4行:你可以使用这个模块里面的成员函数。导入的模块越多,可以调用的成员函数也越多,但会占用更多的内存。你可以通过Microbit模块控制屏幕显示、检测按钮状态、音乐播放等。

7 8 9

10

music.set_tempo(bpm=220) Player_A_tune = ["c", "d", "e", "f", "g"]

Player_B_tune = ["g", "f", "e", "d", "c"]

第7行:控制当按键按下时音乐的播放速度,数值越大,播放越快。

第8行和第10行:定义2个列表,均含5个字符。这些字符代表着音符的名字。

你可以自己写出更好的曲调,这里还有一些曲调可供参考:

"c#:4" :播放c调4个节拍

"db5:1" :播放D调1个节拍,5代表播放比C调多一个八度音阶(即音阶4)

"eb3:3" 播放E调3个节拍,第一个3代表播放比C调多一个八度音阶(即音阶4)

12 13 14

15

16

17

18

19

20

21

22

23

24

display.scroll("Quiz buzzer") while True:

display.show(Image.HAPPY)

if button_a.was_pressed():

display.show("A")

music.play(Player_A_tune)

sleep(2000)

elif button_b.was_pressed():

display.show("B")

music.play(Player_B_tune)

sleep(2000)

sleep(20)

第12行:在屏幕上滚动显示字符' Quiz buzzer '/ " Quiz buzzer "。必须是英文字体的单引号或双引号。

第14行:while循环,后面的条件满足时,将会执行后面的语句,执行完后,在判断条件是否满足,以此循环,直到条件不满足时退出。这里的True表示条件为真,那么程序会一直运行14到24行的代码。

Python:Microbit8

缩进是判断逻辑语句范围的标准,在python中非常重要。Python小白们要重视啊~

第15行:显示一个笑脸。

第16到19行与第20到23行的功能相似:判断按键是否按下。如果按键a按下,显示‘A’播放列表‘Player_A_tune’,睡眠2秒,如果按键b按下,显示‘B’播放列表‘Player_B_tune’。

第24行:让程序睡眠20毫秒,然后继续进入循环。

下面是microbit的音乐代码,有一些错误供大家修改,‘#’可以注释(屏蔽)一行代码,可以用来判断BUG的位置。

Python是区分大小写的

*Python中缩进很重要

如果你将代码调试出来了,你可以试试同时按下2个按键。你会发现它会显示a按键被按下。

转自DF社区-Nana

  • 代码附件1.txt
    描述:代码附件1
  • 代码附件2.txt
    描述:代码附件2

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
PC817XNNSZ1B 1 Sharp Corp Transistor Output Optocoupler, 1-Element, 5000V Isolation,
$0.48 查看
ECS-.327-9-34B-C-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下载ECAD模型
$0.75 查看
ASEMB-100.000MHZ-LY-T 1 Abracon Corporation MEMS OSC XO 100.0000MHZ CMOS SMD

ECAD模型

下载ECAD模型
$3.83 查看

相关推荐

电子产业图谱