一.IIC通信

在raspi-config中的interface选项打开IIC通信

二.下载Adafruit_PCA9685包

pip3 install Adafruit_PCA9685

也可以去github或者gitee搜索adafruit_pca9685查看源码和demo

注:

这里还可以选用SERVO DRIVER HAT这一控制舵机的板子

可参考(17条消息) 树莓派4B通过16路PWM输出的PCA9685模块控制舵机(机械臂)附完整代码_袁六加.的博客-CSDN博客

三.接线

根据本人的实际情况,当仅仅取树莓派的3.3V电压时舵机是不会动的,因此需要一个电源模块供电(与pca板子上的绿色柱相连)

四.编写程序

(使用a d 控制舵机转角)

# -*- coding: utf-8 -*-#键盘控制舵机转动
from __future__ import division
import sys, select, termios, ttyimport time# Import the PCA9685 module.
import Adafruit_PCA9685#获取键盘事件
def getKey():settings = termios.tcgetattr(sys.stdin)tty.setraw(sys.stdin.fileno())rlist, _, _ = select.select([sys.stdin], [], [], 0.1)if rlist:key = sys.stdin.read(1)else:key = ''termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)return keydef set_servo_angle(channel, angle):#输入角度转换成12^精度的数值date=int(4096*((angle*11)+500)/20000)#进行四舍五入运算 date=int(4096*((angle*11)+500)/(20000)+0.5)    pwm.set_pwm(channel, 0, date)pwm = Adafruit_PCA9685.PCA9685()
pwm.set_pwm_freq(50)beangle = 0
channel1 = 15
channel2 = 14while 1:key = getKey()if key == 'a':while True:            beangle += 2.5if beangle >= 180:beangle = 180set_servo_angle(channel1,beangle)set_servo_angle(channel2,beangle)key = getKey()if (key != 'a'):breakif key == 'd':while True:beangle -= 2.5if beangle <= 0:beangle = 0set_servo_angle(channel1,beangle)set_servo_angle(channel2,beangle)key = getKey()if (key != 'd'):breakif key == 'q':break

自此就可以通过输入转角或者使用键盘控制舵机了。

报错IOError: [Errno 121] Remote I/O error:

1.仔细检查接线有没有错误

2.参考(17条消息) 树莓派4B使用 Adafruit_PCA9685 报错IOError: [Errno 121] Remote I/O error解决办法_Black__Jacket的博客-CSDN博客

树莓派4B使用PCA9685控制舵机相关推荐

  1. stm32中如何使用PCA9685控制舵机(详解)

    这里写自定义目录标题 一.PCA9685简介 二.硬件 1.电压 2.i2c地址 3.使能脚 4. 频率 5.地址定义表 6. 舵机角度 最近在公司实习,都说跨入职场是让人进步最快的方式,记录一下我自 ...

  2. 树莓派4B的引脚控制简单demo

    淘宝上的店家提供了很多示例程序,这里只拿一种来演示下,借此熟悉下如何用c或者python环境去操作树莓派.前提配置见我的之前的系列博客 树莓派4B基础软硬件环境搭建_jiugeshao的专栏-CSDN ...

  3. python舵机控制程序_树莓派PWM控制舵机的两种方式

    PWM控制舵机简介 通常情况下,伺服电机(舵机)是由一个标准的直流系统和一个内部反馈控制装置(一个减速齿轮和电位计)来组成的.伺服电机(舵机)的主要作用是将齿轮轴旋转到一个预定义的方向上.伺服电机(舵 ...

  4. 树莓派4B通过16路PWM输出的PCA9685模块控制舵机(机械臂)附完整代码

    树莓派4B通过16路PWM输出的PCA9685模块控制舵机(机械臂)附完整代码 文章目录 树莓派4B通过16路PWM输出的PCA9685模块控制舵机(机械臂)附完整代码 一. Servo Driver ...

  5. 树莓派视觉小车 -- 人脸追踪(人脸识别、PID控制舵机运动)

    目录 效果展示 基础理论(人脸识别) 1.基于特征的算法 2.基于图像的算法 3.Haar特征 4.Adaboost级联决策器 API 基础理论(PID算法) 1.作用 应用场景 2.PID原理 1. ...

  6. 立创梁山派GD32F450ZGT6--通过PCA9685控制16路舵机

    PCA9685芯片,每一路LED输出端均可自由调节PWM波的频率 (40~1000Hz) 和占空比 (0%~100%) .这款芯片主要通过输出不同占空比的PWM脉冲信号来控制舵机转动的角度.是16通道 ...

  7. 树莓派3b+控制舵机

    树莓派3b+控制舵机 1.RPi.GPIO控制: 2.gpiozero控制: 1.RPi.GPIO控制: 控制信号:GPIO18 import RPi.GPIO as GPIO import time ...

  8. 使用PCA9685控制多个舵机

    todolist 要单独去找舵机的两个极值的大小,然后去该前文的映射的初始值 把角度值打印出来 0.准备 0.1.硬件设备 0.2.软件安装 1.安装好Arduino IDE 可以前往Arduino官 ...

  9. 实例4:树莓派GPIO控制舵机转动

    实例4:树莓派GPIO控制舵机转动 实验目的 通过背景知识学习,了解舵机的外观及基本运动方式. 了解四足机器人mini pupper腿部单个舵机的组成结构. 通过GPIO对舵机进行转动控制,熟悉PWM ...

最新文章

  1. 胡想——对机器人控制体系的一些想法
  2. python3 统计文件夹下文件(含文件夹)的个数
  3. 组策略的优先级是 本地》站点》域》组织单位
  4. 异常机制及throw与throws的区别 (z)
  5. CentOS下的账户管理
  6. flutter 代码仓库_go-flutter开发桌面应用(二) 创建go-flutter插件
  7. jQuery对象和DOM对象
  8. 螺旋方阵 | 蛇形填数
  9. POJ3666序列最小差值
  10. [vue] SSR解决了什么问题?有做过SSR吗?你是怎么做的?
  11. python画国际象棋_python图形工具turtle绘制国际象棋棋盘
  12. mysql jar jdk1.6_Windows下JDK1.6+MySQL+MyEclipse开发环境的配置
  13. Covariance and Contravariance in C#, Part One
  14. mysql 导入百万级数据 几种 java_百万级数据,如何迁移到MySQL?
  15. 得物App联合Zippo推出限量款打火机 首批开售十分钟即售罄
  16. 桌面整理工具不显示文件夹_Win10桌面图标显示不正常变成了白色
  17. 雷达原理---时频分析--1.基本概念
  18. 合成大西瓜html5游戏,关于html5:魔改和上线你的合成大西瓜最全教程
  19. 2021-11-06大数据学习日志——数据埋点+网络爬虫——数据提取
  20. recovery_minui解说

热门文章

  1. 第五人格音乐计算机,第五人格BGM大全 第五人格背景音乐大全网易云地址
  2. vector 基本使用方法
  3. textview长按复制_TextView长按复制的实现方法(总结)
  4. 【electron】如何快速进行electron项目开发(包含了各种创建一个electron项目的方法)
  5. 2018 HDU多校第四场赛后补题
  6. 魅蓝note3 android7,魅蓝Note3和全面评测对比 良心推荐!
  7. MVC框架详解(资源整理)
  8. MySql-数据库命名规范
  9. matlab-LMI工具箱
  10. vscode配置自动补全