microbit之mpython的API


 

一、顯示

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完全省去了大括號(連同后綴的分號),並使用縮進結構來表示所屬關系。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM