用Python編寫的VEX IQ遙控程序——"Arcade_Control.py"

用Python編寫的VEX IQ遙控程序——"Arcade_Control.py"

來自專欄 Python For VEX IQ8 人贊了文章

學慣用Python語言編寫:

遙控器(Joystick)控制「底盤車」的程序 Arcade_Control.py

(1)不考慮修正遙控器搖桿(joystick)初始啟動閾值(Threshold)的Python代碼:

# VEX IQ Python-Projectimport sysimport vexiq#region configmtrR = vexiq.Motor(5, True) # Reverse PolaritymtrL = vexiq.Motor(6)joystick = vexiq.Joystick()#endregion configwhile True: spdL = joystick.axisA() + joystick.axisC() spdR = joystick.axisA() - joystick.axisC() mtrL.run(spdL) mtrR.run(spdR)

圖片版本(便於手機用戶查看):


已經熟悉RobotC的讀者,會很清楚arcadeControl圖標(函數)的第三個參數代表的就是:設定遙控器搖桿(joystick)的初始啟動閾值(Threshold)大小為10。

把這一個過程加入到上一段代碼中,需要自定義一個函數,我們命名為v10,並設定一個需要輸入的參數:spd。

完整代碼如下:

# VEX IQ Python-Projectimport sysimport vexiq#region configmtrR = vexiq.Motor(5, True) # Reverse PolaritymtrL = vexiq.Motor(6)joystick = vexiq.Joystick()#endregion configdef v10(spd): if abs(spd)>10: return spd else: return 0while True: spdL = joystick.axisA() + joystick.axisC() spdR = joystick.axisA() - joystick.axisC() mtrL.run(v10(spdL)) mtrR.run(v10(spdR)) #print("Input:"+str(spdL)+" Output:"+str(v10(spdL)))

圖片版本(便於手機用戶查看):

將代碼取消注釋:

print("Input:"+str(spdL)+" Output:"+str(v10(spdL)))

觀察控制台,運行後輸出數據如下:

從數據可以看出,自定義函數v10(spd) 起作用了。

推薦閱讀:

Python中各個模塊的介紹和使用
教程推薦 | 機器學習、Python等最好的150餘個教程
Python Programming Tips
python工具箱之excel處理
Python黑帽編程 3.4 跨越VLAN

TAG:VEX機器人 | 機器人教育 | Python |