您好,登錄后才能下訂單哦!
本篇內容主要講解“如何在newbit上用micropython”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何在newbit上用micropython”吧!
newbit(microbit)支持多種工具,比如JavaScript Block Editor、Mbed、gcc、espruino等。不過我們還是先從最熟悉的micropython開始吧。
準備
首先確定安裝好了Mbed串口驅動(注意安裝時需要先連接newbit到計算機),這樣才能進行后面的工作。在Linux和MacOS上會自動識別出串口,無需安裝驅動。
然后運行一個串口終端軟件,如putty、mobaxterm等,串口號就是newbit所在,串口參數是MicroPython上標準的115200, n, 8, 1, none。
如果沒有下載新的程序到newbit,里面還是原有的例程,那么可以直接使用micropython。在終端軟件中輸入ctrl-c,就會中止當前的程序,返回到REPL下。如果下載過其它程序,那么原有的micropython固件就可能被沖掉了,需要下載micropython固件,并將它下載到newbit中。
下載新固件后,需要按下反面的復位鍵,就可以在終端上看到熟悉的REPL提示界面了。
MicroPython v1.7-9-gbe020eb on 2016-04-18; micro:bit with nRF51822
Type "help()" for more information.
>>>
>>>
在REPL下,我們可以輸入各種指令、代碼,執行多種功能。這些大家可以參考以前的《micropython中文教程2.0》,就不重復了。
不過可能大家會發現micropython的版本很低,還是1.7.9版本,而現在最新版已經是1.8.7了。這是因為官方一直沒有更新micropython文件,而且新版本的體積比較大,nRF51822中多半放不下了。目前的micropython中留給用戶的空間只有8K,這還是藍牙功能沒有包含的情況下。估計要等升級到nRF58400時,才可能替換micropython了。
注意:這個版本的micropython有個問題是粘貼功能有bug,不能粘貼較大的代碼,否則就會出錯,需要斷開USB重新連接才能恢復。
圖形顯示:
newbit上有一個 5x5 的LED陣列,可以顯示小圖形、文字,顯示效果不錯。
在micropython中,已經為LED設計了專用的庫,可以很方便的進行顯示,大部分時候只要一個命令就完成了顯示功能。例如,下面代碼顯示了滾動的文字 Hello ,World!:
from microbit import *
display.scroll("Hello, World!")
這是以默認速度顯示,如果想加快或變慢速度,可以加上參數delay,如:
display.scroll("Hello, World!", delay=50)
默認的delay是150,設置成50后滾動速度會變快。
如果希望循環顯示,可以加上loop參數,這時只能通過ctrl-C才能返回REPL。
display.scroll("Hello, World!", loop=True)
默認顯示的字符是非等寬的,在有些時候會不方便。這時可以使用等寬字體:
display.scroll("Hello, World!", monospace=True)
默認情況下,display.scroll函數在完成顯示后才會返回,相當于工作在阻塞模式。也可以改為非阻塞模式,這樣輸入命令后,顯示可以在后臺進行,而REPL可以繼續輸入其它命令。阻塞和非阻塞通過參數wait指定。
display.scroll("Hello, World!", wait=False)
display.scroll函數是不支持中文和特殊字符
注意在microbit的micropython中,沒有pyb、machine等常用模塊,而是使用microbit庫。
display.scroll只能顯示文字,如果需要顯示圖形,就要改用另外一個函數display.show,它可以顯示文字、圖形,但是不能以滾動方式顯示,只能一次顯示一個圖標或者字符。如:
display.show("Hello, World!")
display.show(Image.HEART)
microbit庫中內置了數十個圖標,可以顯示常用的表情、時鐘、箭頭等,大家可以通過dir或者tab鍵查看內置的圖標。
display.show函數也支持delay、loop、wait等參數,和display.scroll函數差不多。但是display.show還有一個特殊功能,支持一次顯示一組圖標,如:
display.show((Image.YES, Image.NO, Image.MEH))
除了內置的圖形,我們還可以定義自己的圖形,如:
ico=Image('11111:12345:13579:50000:90000')
display.show(ico)
每個圖形需要定義5個參數,每個參數之間用冒號隔開,一個參數有5個數字,代表1行的5個LED,每個數字代表LED的亮度。
我們還可以直接操作每個LED,如:
display.set_pixel(1, 1, 2)
前兩個參數是X/Y坐標,第3個參數是亮度(0-9,數字越大越亮)。同樣可以用display.get_pixel函數讀取LED的亮度。
其它常用函數:
清屏,display.clear()
關顯示(不清屏),display.off()
開顯示,display.on()
到此,相信大家對“如何在newbit上用micropython”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。