一、顯示
display.scroll("Hello, World!")
在micro:bit點陣上滾動顯示Hello, World!,其中Hello, World!可以替換成任意字符。
display.show(Image.HAPPY)
在micro:bit點陣上顯示笑臉的圖形,MicroPython還有很多內置的圖片可以顯示在顯示屏上,例如下面就是一個內置圖像的列表:
• Image.HEART
• Image.HEART_SMALL
• Image.HAPPY
• Image.SMILE
• Image.SAD
• Image.CONFUSED
• Image.ANGRY
• Image.ASLEEP
• Image.SURPRISED
• Image.SILLY
• Image.FABULOUS
• Image.MEH
• Image.YES
• Image.NO
•Image.CLOCK12, Image.CLOCK11, Image.CLOCK10, Image.CLOCK9, Image.CLOCK8, Image.
CLOCK7, Image.CLOCK6, Image.CLOCK5, Image.CLOCK4, Image.CLOCK3, Image.CLOCK2,Image.CLOCK1
•Image.ARROW_N, Image.ARROW_NE, Image.ARROW_E, Image.ARROW_SE, Image.ARROW_S,Image.ARROW_SW, Image.ARROW_W, Image.ARROW_NW
• Image.TRIANGLE
• Image.TRIANGLE_LEFT
• Image.CHESSBOARD
• Image.DIAMOND
• Image.DIAMOND_SMALL
• Image.SQUARE
• Image.SQUARE_SMALL
• Image.RABBIT
• Image.COW
• Image.MUSIC_CROTCHET
• Image.MUSIC_QUAVER
• Image.MUSIC_QUAVERS
• Image.PITCHFORK
• Image.XMAS
• Image.PACMAN
• Image.TARGET
• Image.TSHIRT
• Image.ROLLERSKATE
• Image.DUCK
• Image.HOUSE
• Image.TORTOISE
• Image.BUTTERFLY
• Image.STICKFIGURE
• Image.GHOST
• Image.SWORD
• Image.GIRAFFE
• Image.SKULL
• Image.UMBRELLA
• Image.SNAKE
Image.ALL_CLOCKS
Image.ALL_ARROWS
display.get_pixel(x, y)
得到像素的亮度(x,y),亮度可以是0(熄滅)到9(像素處於最大亮度)。
display.set_pixel(x, y, val)
將像素(x,y)的亮度設置為val(在0到9之間)
display.clear()
清除顯示
display.show(image, delay=0, wait=True, loop=False, clear=False)
顯示圖像
display.show(iterable, delay=400, wait=True, loop=False, clear=False)
在可迭代的情況下顯示每個圖像或字母,每一個都有延遲,延遲為400毫秒。
display.scroll(string, delay=400)
在顯示屏上滾動一個字符串,每一個都有延遲,延遲為400毫秒。
image = Image()
創建一個5*5像素的空圖像
image = Image('90009:09090:00900:09090:90009:')
自定義顯示圖像,在micro:bit點陣上的每個LED亮度都可以設置為0-9中的一個值。如果一個LED的亮度被設置為0,那么它就熄滅了。如果如果它的亮度被設置為9,那么它就處於最亮的水平,冒號“:”表示一條線的末端。
image = Image(width, height)
創建一個空圖像並給出尺寸
image = Image(width, height, buffer)
用指定的寬度和高度初始化一個圖像,緩沖是長度和寬度的數組
image.width()
返回圖像的寬度(通常是5)
image.height()
返回圖像的高度(通常是5)
image.set_pixel(x, y, value)
將像素設置為指定位置,像素值在0到9之間
image.get_pixel(x, y)
獲取指定位置的像素,像素值在0到9之間
image.shift_left(n)
通過將圖片向左移動n次,返回一個新圖像
image.shift_right(n)
通過將圖片向右移動n次,返回一個新圖像
image.shift_up(n)
通過將圖片向上移動n次,返回一個新圖像
image.shift_down(n)
通過將圖片向下移動n次,返回一個新圖像
repr(image)
獲得圖像的字符串表示
str(image)
image + image
得到一個可讀的字符串表示的圖像
image * n
通過將圖片放大n倍,返回一個新圖像
二、加速度計
accelerometer.get_x()
測量X軸的重力值,以重力g為單位
accelerometer.get_y()
測量Y軸的重力值,以重力g為單位
accelerometer.get_z()
測量Z軸的重力值,以重力g為單位
accelerometer.get_values()
獲取X、Y和Z軸的重力數值(按此順序列出)
accelerometer.current_gesture()
獲取當前的手勢值給gesture,MicroPython能夠識別下列手勢:上、下、左、右、面朝下、面朝下,自由落體,3 g,6 g,8 g,搖。手勢值的在程序中的表示依次是up, down, left, right, face up, face down,freefall, 3g, 6g, 8g, shake。
accelerometer.is_gesture(name)
返回真或假,以指示當前活動是否為指定的手勢。
accelerometer.was_gesture(name)
返回真或假,以指示最后一次活動是否為指定的手勢。
accelerometer.get_gestures()
返回手勢歷史的元組,最近的一次活動是最后一次。
三、電子羅盤(指南針)
compass.calibrate()
校准指南針
compass.heading()
返回一個數字,表示“北方”的程度偏移量。
compass.get_field_strength()
返回一個關於磁場強度的數值指示
compass.is_calibrated()
compass.clear_calibration()
四、按鍵
button_a.is_pressed()
表示按鈕正被按下,返回真或假
button_a.was_pressed()
表示按鈕是否被按下,返回真或假,再開始或最后調用這個函數。
button_a.get_presses()
這個函數返回之前A按下的次數。調用這個函數后,計數會清零,重新開始計數。
五、循環w
while True:
無限循環
六、邏輯
if ...: 如果...事件是正確的或者發生了
# do one thing 執行這條命令
elif ...: 否則如果...事件是正確的或者發生了
# do another thing 執行這條命令
else: 否則
# do yet another thing執行這條命令
七、輸入輸出
pin.write_digital(value)
向引腳寫入數字值,可以是0,1,False,True
pin.read_digital()
讀取引腳的數字值,返回0或1
pin.write_analog(value)
向引腳寫入模擬值,可以是1-1023范圍內的值
pin.read_analog()
讀取引腳的模擬值,返回1-1023范圍內的值
pin.set_analog_period(int)
以毫秒為單位設置PWM輸出的周期
pin.set_analog_period_microseconds(int)
將引腳的PWM輸出的周期設置為微秒
pin.is_touched()
如果引腳被觸摸,返回一個布爾值
八、音樂
music.play(music.NYAN)
播放一個旋律
MicroPython有很多內置的旋律。這里有一個完整的列表:
• music.DADADADUM
• music.ENTERTAINER
• music.PRELUDE
• music.ODE
• music.NYAN
• music.RINGTONE
• music.FUNK
• music.BLUES
• music.BIRTHDAY
• music.WEDDING
• music.FUNERAL
• music.PUNCHLINE
• music.PYTHON
• music.BADDY
• music.CHASE
• music.BA_DING
• music.WAWAWAWAA
• music.JUMP_UP
• music.JUMP_DOWN
• music.POWER_UP
• music.POWER_DOWN
import random
display.show(str(random.randint(1, 6)))
在1-6中生成一個隨機數並顯示
names = ["Mary", "Yolanda", "Damien", "Alia", "Kushal", "Mei Xiu", "Zoltan" ]
display.scroll(random.choice(names))
在列表names中隨機顯示一個名字
sleep(ms)
睡眠(延時)時間為給定的毫秒數。
running_time()
返回micro:bit最后一次啟動的時間,返回值是微秒
panic(error_code)
使micro:bit進入恐慌模式(這通常發生在DAL運行內存不足時,在點陣是顯示出一張悲傷的臉),這個錯誤代碼可以是任意的整數值。
reset()
復位micro:bit
i2c.init(freq=100000, sda=pin20, scl=pin19)
初始化I2C頻率為100000,SDA引腳連接micro:bit 的p20,SCL引腳連接micro:bit的p19.
注意:將I2C的引腳從默認值中更改,將使加速計和羅盤停止工作。
i2c.read(addr, n)
從帶有7位地址addr的設備讀取n個字節。
i2c.write(addr, buf)
從buf到帶有7位地址addr的設備上寫入字節。
十、特別注意事項:
關於程序編寫語法與大小寫要求:
1 - 大小寫必須正確!
2 - 拼寫必須嚴格正確!
3 - 關鍵詞如 # 與內容之間需要有個空格
4 - 程序以一行空白程序結尾
5 - 程序塊體(如 while 所包含的程序體是以縮進為標志的),相對於C語言,Python完全省去了大括號(連同后綴的分號),並使用縮進結構來表示所屬關系。