我們提供基礎的MPIO-10 範程程式在Github上供大家下載:

https://github.com/MapleBoard/MPIO-10-Demo

範例程式提供6個檔案:

  1. leb_blink.py: LED燈亮滅的基礎範例,學習控制GPIO。
  2. led_button_control.py: 使用圖形化視窗控制LED燈量滅,使用GTK3.0作為圖形化套件。
  3. led_toggle.py: 使用圖形化視窗控制LED燈交互狀態,亮變滅,滅變亮。
  4. touch_read.py: 讀取觸碰感測器,當按下時回傳1並讓MP510微電腦前面板顯示”Good”字樣,反之回傳0。
  5. air_pressure_read.py: 讀取大氣壓力感測器,使用I2C通訊協議。
  6. testGoodmpio10.py: 整合感應器讀取與大氣壓力讀取功能,讀取兩個感應器狀態。

 

這六個檔案使用方式都相同,由於需要與硬體做控制,系統需要使用system call來呼叫kernel driver,所以這些範例都需要超級使用者權限。

請在終端視窗輸入:$ sudo python3 filename.py

filename.py可以替換成不同檔案名稱

1. led_blink.py

這個範例程式主要使用IO讀寫的方式直接將值寫入裝置檔案,在透過python內建的time.sleep 功能來實現閃爍的效果。

左方為終端視窗實際執行的樣子,要停止程式請按下Ctrl+C強置中止。

2. led_button_control.py

這個範例程式使用GTK3.0 作文圖形界面的函式庫,提供兩個按鈕一個是點亮LED,另一個是關閉LED,如左下圖所示。

與前一個範例相同,是直接寫入裝置檔案進行控制。

3. led_toggle.py

這個範例程式使用GTK3.0 作文圖形界面的函式庫,提供一個按鈕切換LEd燈狀態如左下圖所示。

與前一個範例相同,是直接寫入裝置檔案進行控制。

4. touch_read.py

這個範例程式使用輪詢(Poll) 的方式讀取裝置檔案,讀取GPIO輸入接腳的電壓狀態。

若為高電位則輸出1,低電位輸出0。

同時當觸碰開關被按下時,MP510微型電腦前方液晶會顯示Good字樣。

5. air_pressure_read.py

BMP180空氣壓力感應器使用I2C協議通訊,本範例一樣使用裝置檔案進行寫入與讀取,詳細I2C位址可以參考範例註解說明以及資料手冊。

回傳資料為尚未經過校正的原始資料。

6. testGoodmpio10py

這個範例程式結合觸控感應器與壓力感應器,讀取兩個感應器數值並印出在終端機上。

與範例5相同,回傳資料為未經過校正之資料。

相關連結