溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在newbit上用micropython

發(fā)布時間:2022-01-13 14:38:05 來源:億速云 閱讀:144 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容主要講解“如何在newbit上用micropython”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何在newbit上用micropython”吧!

newbit(microbit)支持多種工具,比如JavaScript Block Editor、Mbed、gcc、espruino等。不過我們還是先從最熟悉的micropython開始吧。

準備


首先確定安裝好了Mbed串口驅(qū)動(注意安裝時需要先連接newbit到計算機),這樣才能進行后面的工作。在Linux和MacOS上會自動識別出串口,無需安裝驅(qū)動。

然后運行一個串口終端軟件,如putty、mobaxterm等,串口號就是newbit所在,串口參數(shù)是MicroPython上標準的115200, n, 8, 1, none。

如果沒有下載新的程序到newbit,里面還是原有的例程,那么可以直接使用micropython。在終端軟件中輸入ctrl-c,就會中止當前的程序,返回到REPL下。如果下載過其它程序,那么原有的micropython固件就可能被沖掉了,需要下載micropython固件,并將它下載到newbit中。

下載新固件后,需要按下反面的復位鍵,就可以在終端上看到熟悉的REPL提示界面了。

  1. MicroPython v1.7-9-gbe020eb on 2016-04-18; micro:bit with nRF51822

  2. Type "help()" for more information.

  3. >>>

  4. >>>

在REPL下,我們可以輸入各種指令、代碼,執(zhí)行多種功能。這些大家可以參考以前的《micropython中文教程2.0》,就不重復了。

不過可能大家會發(fā)現(xiàn)micropython的版本很低,還是1.7.9版本,而現(xiàn)在最新版已經(jīng)是1.8.7了。這是因為官方一直沒有更新micropython文件,而且新版本的體積比較大,nRF51822中多半放不下了。目前的micropython中留給用戶的空間只有8K,這還是藍牙功能沒有包含的情況下。估計要等升級到nRF58400時,才可能替換micropython了。

注意:這個版本的micropython有個問題是粘貼功能有bug,不能粘貼較大的代碼,否則就會出錯,需要斷開USB重新連接才能恢復。

圖形顯示

newbit上有一個 5x5 的LED陣列,可以顯示小圖形、文字,顯示效果不錯。

在micropython中,已經(jīng)為LED設計了專用的庫,可以很方便的進行顯示,大部分時候只要一個命令就完成了顯示功能。例如,下面代碼顯示了滾動的文字 Hello ,World!:

  1. from microbit import *

  2. display.scroll("Hello, World!")

如何在newbit上用micropython

這是以默認速度顯示,如果想加快或變慢速度,可以加上參數(shù)delay,如:

  1. display.scroll("Hello, World!", delay=50)

默認的delay是150,設置成50后滾動速度會變快。

如果希望循環(huán)顯示,可以加上loop參數(shù),這時只能通過ctrl-C才能返回REPL。

  1. display.scroll("Hello, World!", loop=True)

默認顯示的字符是非等寬的,在有些時候會不方便。這時可以使用等寬字體:

  1. display.scroll("Hello, World!", monospace=True)

默認情況下,display.scroll函數(shù)在完成顯示后才會返回,相當于工作在阻塞模式。也可以改為非阻塞模式,這樣輸入命令后,顯示可以在后臺進行,而REPL可以繼續(xù)輸入其它命令。阻塞和非阻塞通過參數(shù)wait指定。

  1. display.scroll("Hello, World!", wait=False)

  • display.scroll函數(shù)是不支持中文和特殊字符

  • 注意在microbit的micropython中,沒有pyb、machine等常用模塊,而是使用microbit庫。


display.scroll只能顯示文字,如果需要顯示圖形,就要改用另外一個函數(shù)display.show,它可以顯示文字、圖形,但是不能以滾動方式顯示,只能一次顯示一個圖標或者字符。如:

  1. display.show("Hello, World!")

  2. display.show(Image.HEART)

microbit庫中內(nèi)置了數(shù)十個圖標,可以顯示常用的表情、時鐘、箭頭等,大家可以通過dir或者tab鍵查看內(nèi)置的圖標。

display.show函數(shù)也支持delay、loop、wait等參數(shù),和display.scroll函數(shù)差不多。但是display.show還有一個特殊功能,支持一次顯示一組圖標,如:

  1. display.show((Image.YES, Image.NO, Image.MEH))

除了內(nèi)置的圖形,我們還可以定義自己的圖形,如:

  1. ico=Image('11111:12345:13579:50000:90000')

  2. display.show(ico)

每個圖形需要定義5個參數(shù),每個參數(shù)之間用冒號隔開,一個參數(shù)有5個數(shù)字,代表1行的5個LED,每個數(shù)字代表LED的亮度。

我們還可以直接操作每個LED,如:

  1. display.set_pixel(1, 1, 2)

前兩個參數(shù)是X/Y坐標,第3個參數(shù)是亮度(0-9,數(shù)字越大越亮)。同樣可以用display.get_pixel函數(shù)讀取LED的亮度。

其它常用函數(shù):

  • 清屏,display.clear()

  • 關顯示(不清屏),display.off()

  • 開顯示,display.on()

到此,相信大家對“如何在newbit上用micropython”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI