前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >树莓派连接驱动板控制舵机

树莓派连接驱动板控制舵机

作者头像
一朵灼灼华
发布2022-08-05 15:39:24
7500
发布2022-08-05 15:39:24
举报

硬件

  1. 16路PWM Servo 舵机驱动板模块PCA9685
  2. 树莓派
  3. MG90S 9g舵机

连接

  • GND -> RPi GND
  • SCL -> RPi SCL1
  • SDA -> RPi SDA1
  • VCC -> RPi 3.3V
  • V+ -> RPi 5V

VCC 引脚只是为芯片供电,如果要连接舵机或者 LED 灯,就使用 V+引脚供电,V+引脚支持 3.3~6V 的电源(芯片的安全电压时 5V)。 建议通过电源接线柱外接电源供电。 大多数的舵机设计电压都是在 5~6V,尤其在多个舵机同时运行时,跟需要有大功率的电源供电。

demo

代码语言:javascript
复制
# coding:utf-8
# 导入 __future__ 文件的 division 是为了精确除法。
from __future__ import division
import time

# 导入Adafruit_PCA9685模块,需要安装
import Adafruit_PCA9685

# 使用默认地址(0x40)初始化PCA9685。
# 把Adafruit_PCA9685.PCA9685()引用地址赋给PWM标签
pwm = Adafruit_PCA9685.PCA9685()

# 或者指定不同的地址和/或总线:
# pwm = Adafruit_PCA9685.PCA9685(address=0x41, busnum=2)

def set_servo_angle(channel, angle):  # 输入角度转换成12^精度的数值
    # + 0.5是进行四舍五入运算。
    date = int(4096 * ((angle * 11) + 500) / 20000 + 0.5)
    pwm.set_pwm(channel, 0, date)

# 将频率设置为50赫兹,适合伺服系统。
pwm.set_pwm_freq(50)

print('Moving servo on channel x, press Ctrl-C to quit...')
while True:
    # 选择需要移动的伺服电机的通道与角度
    channel = int(input('pleas input channel:'))
    angle = int(input('pleas input angle:'))
    set_servo_angle(channel, angle)
    time.sleep(1)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 硬件
  • 连接
  • demo
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档