雖然預設的程式編輯環境是積木式的,但是在編寫程式時,有許多的邏輯設定使用積木來設計會顯得不太直覺,而且積木製作起來也會有一些累贅,為了有效率的設計HaloCode上的程式,有時候利用Python會來得更加地便利。
要在mBlock中使用Python程式語言,只要在右上角點擊「Python」頁籤就可以了,點擊之後的畫面如下所示:

在這個畫面中,圖中有行號的地方就是編寫MicroPython 的地方,而下方則是即時的執行結果,雖然在HaloCode中沒有可以直接顯示文數字的介面(要外接才行),但是在設計程式的階段,可以利用print() 函數輸出資訊到下方的輸出介面,非常適合在偵錯上使用。
所有可以在HaloCode上使用的Python程式設計資料都可以在下方的網站中找到:
http://docs.makeblock.com/halocode/en/python-api/python-api.html
對於初學者來說,以下是最簡單程式,讓光環板上的所有LED燈進行明滅的動作:
import halo, time
while True:
halo.led.show_all(255, 255, 255)
time.sleep(0.2)
halo.led.off_all()
time.sleep(0.2)
在上述的程式中,一開始先匯入halo和time模組。其中halo模組負責所有操作光環板可以使用的模組和常數,而time模組則是傳統Python模組,負責和計時器相關的部份,在這裡我們主要是要使用它的sleep()函式,用來做時間暫停的工作。
在程式中,我們利用while True這個無窮迴圈來讓光環板不斷地運作,傳統的電腦程式是不允許這樣的行為,但是像是光環板這樣單純的嵌入式作業環境,這樣的作法反而是一種常態,本來就是要讓光環板一直不斷地運作才能達到我們的目標。
halo.led.show_all(255, 255, 255)這一行指令的功能就是依照RGB三種顏色的強度指定所有光環板上的12顆LED要以何種顏色來顯示。每一個顏色最強是255,而最弱則是0(表示都不亮),透過這樣的組合理論上可以組合出256*256*256種顏色值,不過當然,大概沒有人可以分辨出這麼多顏色吧。
halo.led.off_all()顧名思義,就是把所有的LED燈關閉。在兩個動作之間都暫停0.2秒,如此就可以達到讓燈光閃爍的目的。