• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

UpyCraft-micropython設(shè)計(jì)- Microbit播放以及圖文顯示

2017/08/11
33
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

代碼附件1.txt

共2個(gè)文件

學(xué)習(xí)Python語(yǔ)言需要與實(shí)例相結(jié)合才能事半功倍。傻瓜教程來(lái)啦───使用Microbit播放音樂(lè),顯示圖像或文字。

目的:

  • 循環(huán): 重復(fù)執(zhí)行一段代碼
  • 列表: 存放多個(gè)數(shù)據(jù)或命令
  • 條件語(yǔ)句: 通過(guò)if語(yǔ)句,讓代碼來(lái)判斷條件

技能:

  • 如何在microbit的屏幕上顯示圖像或文字
  • 如何發(fā)現(xiàn)microbit的按鍵被按下
  • 如何通過(guò)揚(yáng)聲器來(lái)播放音樂(lè)

所需軟硬件

  • UpyCraft-Micropython V0.24
  • Micro:bit主板
  • 數(shù)據(jù)線

揚(yáng)聲器Microbit與揚(yáng)聲器連接示意圖:

連線效果圖:

運(yùn)行成功效果:

、代碼詳解:

4 5 from microbit import * import music

第4行:你可以使用這個(gè)模塊里面的成員函數(shù)。導(dǎo)入的模塊越多,可以調(diào)用的成員函數(shù)也越多,但會(huì)占用更多的內(nèi)存。你可以通過(guò)Microbit模塊控制屏幕顯示、檢測(cè)按鈕狀態(tài)、音樂(lè)播放等。

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行:控制當(dāng)按鍵按下時(shí)音樂(lè)的播放速度,數(shù)值越大,播放越快。

第8行和第10行:定義2個(gè)列表,均含5個(gè)字符。這些字符代表著音符的名字。

你可以自己寫(xiě)出更好的曲調(diào),這里還有一些曲調(diào)可供參考:

"c#:4" :播放c調(diào)4個(gè)節(jié)拍

"db5:1" :播放D調(diào)1個(gè)節(jié)拍,5代表播放比C調(diào)多一個(gè)八度音階(即音階4)

"eb3:3" 播放E調(diào)3個(gè)節(jié)拍,第一個(gè)3代表播放比C調(diào)多一個(gè)八度音階(即音階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行:在屏幕上滾動(dòng)顯示字符' Quiz buzzer '/ " Quiz buzzer "。必須是英文字體的單引號(hào)或雙引號(hào)。

第14行:while循環(huán),后面的條件滿(mǎn)足時(shí),將會(huì)執(zhí)行后面的語(yǔ)句,執(zhí)行完后,在判斷條件是否滿(mǎn)足,以此循環(huán),直到條件不滿(mǎn)足時(shí)退出。這里的True表示條件為真,那么程序會(huì)一直運(yùn)行14到24行的代碼。

Python:Microbit8

縮進(jìn)是判斷邏輯語(yǔ)句范圍的標(biāo)準(zhǔn),在python中非常重要。Python小白們要重視啊~

第15行:顯示一個(gè)笑臉。

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

第24行:讓程序睡眠20毫秒,然后繼續(xù)進(jìn)入循環(huán)。

下面是microbit的音樂(lè)代碼,有一些錯(cuò)誤供大家修改,‘#’可以注釋?zhuān)ㄆ帘危┮恍写a,可以用來(lái)判斷BUG的位置。

Python是區(qū)分大小寫(xiě)的

*Python中縮進(jìn)很重要

如果你將代碼調(diào)試出來(lái)了,你可以試試同時(shí)按下2個(gè)按鍵。你會(huì)發(fā)現(xiàn)它會(huì)顯示a按鍵被按下。

轉(zhuǎn)自DF社區(qū)-Nana

  • 代碼附件1.txt
    下載
    描述:代碼附件1
  • 代碼附件2.txt
    下載
    描述:代碼附件2

相關(guān)推薦