CyperPi Python程式設計入門

Python在許多開發板上已經成為了非常受歡迎的程式語言,舉凡microbit、NodeMCU、HaloCode以及本篇文章要介紹的CyperPi,都可以使用。然而由於開發板本身計算能力的限制,在這些板子上所使用的Python版本另統稱為MicroPython,算是Python語言的一個子集合,不同的開發板能支援的函式庫也不儘相同,所以在開始撰寫程式之前,還是要先查詢目標開發板所提供的API文件為主。

CyperPi的MicroPython開發說明文件網址如下:

https://education.makeblock.com/help/mblock-python-editor-python-api-documentation-for-cyberpi/

除了直接參考上述的文件內容之外,因為它們的積木環境也有提供積木轉換Python的功能,因此有些時候也可以先去拉個積木,轉換成Python函式程式碼之後再拿來使用也是很方便的開發方式。在開始編寫程式前請先去下載免費的慧編程桌面端,如下所示:

安裝完成之後,執行該程式一開始出現的是積木的開發環境,請選擇右上角的「Python編輯器」前往Python開發環境,如下所示:

進入Python開發環境之後,要依照你的需求決定要使用Live還是Upload模式,使用Upload模式可以讓CyberPi帶著走,執行程式時不需要電腦,但是許多第3方的套件都沒辦法使用,只能使用CyberPi所提供的一些函式。CyberPi的開發環境如下:

在CyberPi的Python編輯環境中仍然可以隨時利用右上角的「圖形化程式」按鈕,回到積木環境進行參考。在本篇文章中,請先按下「連接」按鈕,然後選擇「上傳模式」,接著左方選擇新增檔案,把檔案命名為main1.py,再輸入以下的程式碼:

import cyberpi as cp
import time

for i in range(1, 101):
    cp.display.show_label(i, 32, "center", "center")
    time.sleep(0.5)

輸入完畢之後再點選上傳,就會看到CyberPi開始進行計數的動作,從1開始數到100。如果想要再重新開始的話,請按下重置按鈕,或是再上傳一次就可以了。

如果我們希望的是可以每次按鈕之後才會開始計數,那麼可以把程式修改如下:

import cyberpi as cp
import time, event

@event.start
def on_start():
    cp.display.show_label("Welcome", 16, "center", "center")

@event.is_press("a")
def on_a_pressed():
    cp.display.clear()
    cp.led.on(255,0,0)
    for i in range(1, 11):
        cp.display.show_label(i, 32, "center", "center")
        time.sleep(0.5)
    cp.led.on(0,255,0)

上面這個程式利用了事件處理修飾子,讓事件的處理更加地容易。一開始螢幕上會先顯示Welcome字樣,在使用者按下按鈕A之後才開始計數,計數時燈號設定為紅燈,等到計數到10時就停止計數,同時也把LED燈改為綠燈。請參考以下的執行示範影片:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *