1. 让 PiCar-X 动起来
这是第一个项目,让我们测试一下 PiCar-X 的基本移动功能。
运行代码
cd ~/picar-x/example
sudo python3 1.move.py
运行代码后,PiCar-X 将向前移动,按照 S 形转向,停止并摇动“头部”。
代码
备注
您可以 修改/重置/复制/运行/停止 以下代码。但在此之前,需进入源码路径,例如 picar-x/example
。修改代码后,您可以直接运行以查看效果。
from picarx import Picarx
import time
if __name__ == "__main__":
try:
px = Picarx()
px.forward(30)
time.sleep(0.5)
for angle in range(0,35):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
px.forward(0)
time.sleep(1)
for angle in range(0,35):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(0,35):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
finally:
px.forward(0)
工作原理
PiCar-X 的基本功能由 picarx
模块提供,
可用于控制方向舵机和车轮,
实现 PiCar-X 前进、S 形转向或摇头等动作。
以下代码引入了支持 PiCar-X 基本功能的库。 这些行代码会出现在涉及 PiCar-X 移动的所有示例中。
from picarx import Picarx
import time
接下来的代码使用 for
循环,使 PiCar-X
向前移动、改变方向,并操控摄像头的云台角度。
px.forward(speed)
px.set_dir_servo_angle(angle)
px.set_camera_servo1_angle(angle)
px.set_camera_servo2_angle(angle)
forward()
: 以指定的speed
让 PiCar-X 前进。set_dir_servo_angle
: 将方向舵机转至指定的angle
。set_cam_pan_angle
: 将云台的水平舵机转至指定的angle
。set_cam_tilt_angle
: 将云台的垂直舵机转至指定的angle
。
