摄像头云台买了很久,今天才想起来尝试一下;时间有限,初步尝试用键盘操作一下云台四个方向操作;其中ad控制左右转动,ws控制前后转动;驱动板用的是pca9685。
其中舵机驱动采用的是adafruit-circuitpython-pca9685,可以参考以前的文章:https://www.shumeijiang.com/2021/08/29/舵机的新驱动方式。
组合效果:
代码示例:
#coding:utf-8
'''
from JiuJiang
树莓酱的操作实例
https:://www.shumeijiang.com
'''
import time
from board import SCL, SDA
import busio
from adafruit_pca9685 import PCA9685
from adafruit_motor import servo
#引入i2c
i2c = busio.I2C(SCL, SDA)
#实例化 此处是0x41 驱动板地址修改过导致
pca = PCA9685(i2c, address=0x40) #地址可以修改 默认0x40
pca.frequency = 40
#左右
servo_0 = servo.Servo(pca.channels[0])
servo_0.set_pulse_width_range(min_pulse=500, max_pulse=2500)
base_0 = 60
#前后
servo_1 = servo.Servo(pca.channels[1])
servo_1.set_pulse_width_range(min_pulse=500, max_pulse=2500)
base_1 = 80
while True:
code = input('方向是?')
angle_n = 10
if base_0+angle_n >= 180:
continue
if base_1+angle_n >= 180:
continue
if base_0 <= angle_n:
continue
if base_1 <= angle_n:
continue
if code == 'a':
base_0 = base_0 - angle_n
elif code == 'd':
base_0 = base_0 + angle_n
elif code == 'w':
base_1 = base_1 + angle_n
elif code == 's':
base_1 = base_1 - angle_n
servo_0.angle = base_0
servo_1.angle = base_1
time.sleep(0.2)
pca.deinit()
执行效果: