用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