HaloCode, mBlock, Python

使用Python設計HaloCode的程式–燈光閃爍

雖然預設的程式編輯環境是積木式的,但是在編寫程式時,有許多的邏輯設定使用積木來設計會顯得不太直覺,而且積木製作起來也會有一些累贅,為了有效率的設計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秒,如此就可以達到讓燈光閃爍的目的。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s