轉載至[http://jock36.blogspot.tw/2014/03/raspberry-pi-python-part2-lego.html] 接續上篇[Raspberry Pi 機器人 Python篇-Part1環境安裝]
將軟體更新後即將開始我們的第一個程式
在開始撰寫程式前,我們先認識一下馬達的接腳位置
在[[開箱文]BrickPI – 讓 Raspberry Pi 接上您的樂高機器人感測器與馬達]中有提到,相較於NXT LEGO®主機,BrickPi可以接4顆馬達以及5顆感應器,本範例需要先將LEGO®馬達接於MA及MB。下圖為馬達接腳位置圖。
開啟我們Raspberry Pi桌面上的Lxterminal
並輸入
nano myfirstpythonrobot.py
新增名稱為myfirstpythonrobot的python程式
進入到Nano編輯頁面後開始我們的第一個程式
from BrickPi import * #呼叫BrickPi.py函示庫
BrickPiSetup() # 設定通訊端口腳位
#預設的所有腳位都是關閉 所以我們要先將要用的腳位開啟
BrickPi.MotorEnable[PORT_A] = 1 #開啟MA
BrickPi.MotorEnable[PORT_B] = 1 #開啟MBˊ
BrickPiSetupSensors() #將馬達及感應器的設定送回給BrcikPi
while True:
print “Running Forward”
BrickPi.MotorSpeed[PORT_A] = 200 #設定MA的速度 (-255 ~ 255)
BrickPi.MotorSpeed[PORT_B] = 200 #設定MB的速度 (-255 ~ 255)
ot = time.time()
while(time.time() – ot < 3): #執行while迴圈3秒
BrickPiUpdateValues() # 要求BrickPi更新感應器或者馬達參數
time.sleep(.1) #待機 100 ms
print “Running Reverse”
BrickPi.MotorSpeed[PORT_A] = -200 #設定MA的速度 (-255 ~ 255)
BrickPi.MotorSpeed[PORT_B] = -200 #設定MB的速度(-255 ~ 255)
ot = time.time()
while(time.time() – ot < 3): #執行while迴圈3秒
BrickPiUpdateValues() # 要求BrickPi更新感應器或者馬達參數
time.sleep(.1) #待機 100 ms
註:程式盡量以手動輸入為主,以免因為字形、字體大小、網頁環境的影響而發生一些未知的錯誤