我是靠谱客的博主 优雅导师,这篇文章主要介绍树莓派远程4G遥控车教程(二)-相机云台舵机初步调试树莓派远程4G遥控车教程(二)-相机云台舵机初步调试准备工作运行环境配置安装RPi.GPIO模块云台舵机接线单独舵机控制测试编写舵机运动程序,现在分享给大家,希望可以做个参考。
树莓派远程4G遥控车教程(二)-相机云台舵机初步调试
树莓派远程4G遥控车教程(一)-准备工作
树莓派远程4G遥控车教程(三)-摄像头安装及实现局域网实时监控
树莓派远程4G遥控车教程(四)-实时监控内网穿透及集成舵机控制功能
准备工作
出现问题欢迎私信我,大家一起讨论
- 树莓派4B+内存卡(已烧录系统)
- 舵机云台(已组装,包含两个9g舵机)(需要链接可以私信)
- 杜邦线若干
- 电脑ssh控制树莓派
运行环境配置
- 本文中使用python3进行舵机的控制,自行查找python3安装教程。
- 因为这里使用了python3,所以需要手动安装Python v3版本的RPi.GPIO模块。
安装RPi.GPIO模块
- 在ssh终端中先运行python3查看当前版本
复制代码
1
2
3
4
5
6
7pi@raspberrypi:~ $ python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
- 安装模块
复制代码
1
2
3sudo apt-get -y install python3-rpi.gpio sudo pip3 install --upgrade RPI.GPIO
- 测试是否安装完成(在输入python3后引用模块,查看是否报错)
复制代码
1
2
3
4
5
6
7pi@raspberrypi:~ $ python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import RPi.GPIO >>>
云台舵机接线
注:接线时务必保持树莓派断电状态
- 首先从商家到舵机数据,我这里是接入电压5V,工作频率:50Hz(周期:20 ms)
- 红色为正极,橙色为负极,其中黄色为控制线。
- 由舵机数据得,舵机接入5V电压。正极接入5V接口,负极接入GND接口,控制线接入任意支持GPIO功能接口。(GPIO接口支持pwm信号)
- 树莓派4B针脚图
单独舵机控制测试
- 这里只接入单个舵机进行测试
- 我将舵机的PWM控制线接入了GPIO.1接口
- 如上图树莓派针脚图得,树莓派针脚的编码方式有两种,分别是BCM和wiringPi。这里我使用了BCM的编码方式。
- 舵机控制线插在BCM编码为18的GPIO.1接口上。
开始测试
- 首先打开ssh终端输入python3,启动python编辑器
复制代码
1
2
3
4
5
6pi@raspberrypi:~ $ python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
- 导入 RPi.GPIO模块
复制代码
1
2
3>>> import RPi.GPIO as GPIO >>>
- 定义使用BCM引脚方案。并定义你使用的针脚(我这里控制线接在了编码为18的接口上)
复制代码
1
2
3
4
5>>> import RPi.GPIO as GPIO ...... >>> GPIO.setmode(GPIO.BCM) >>> level = 18
- 将该针脚定义为输出模式
复制代码
1
2
3
4
5
6>>> import RPi.GPIO as GPIO >>> GPIO.setmode(GPIO.BCM) >>> level = 18 ...... >>> GPIO.setup(level, GPIO.OUT)
- 前面的到数据,舵机频率为50HZ,这里设置为50HZ
复制代码
1
2
3
4
5
6
7>>> import RPi.GPIO as GPIO >>> GPIO.setmode(GPIO.BCM) >>> level = 18 >>> GPIO.setup(level, GPIO.OUT) ...... >>> frequency = GPIO.PWM(level, 50)
- 测试不同占空比舵机的运动情况,先定义占空比为0,依次增加,查看舵机运动情况。
复制代码
1
2
3
4
5
6
7
8
9>>> frequency.start(0) >>> frequency.ChangeDutyCycle(2) >>> frequency.ChangeDutyCycle(4) >>> frequency.ChangeDutyCycle(6) >>> frequency.ChangeDutyCycle(8) >>> frequency.ChangeDutyCycle(10) >>> frequency.ChangeDutyCycle(12) >>> frequency.stop()
- 在这里我观察舵机运动得到,舵机可以再2和12之间运动。最大占空比为12。占空比为12时,舵机达到运行最大角度。
- 0 -角度为0
- 6 -角度为90
- 12 - 角度为180
编写舵机运动程序
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27from time import sleep # 引入时间模块 import RPi.GPIO as GPIO # 引入驱动模块 GPIO.setmode(GPIO.BCM) # 定义针脚编码格式使用BCM格式 GPIO.setwarnings(False) # 定义针脚编码 def settransrotation(trans,rotation): pwm = GPIO.PWM(trans,50) # 定义频率 pwm.start(8) # 定义初始占空比 DutyCycle = rotation /18 + 2 # 角度转换 pwm.ChangeDutyCycle(DutyCycle) sleep(0.3) pwm.stop() # 结束针脚控制 if __name__ == "__main__": import sys trans = int(sys.argv[1]) GPIO.setup(trans,GPIO.OUT) # 将输入针脚 改为输出模式 settransrotation(trans,int(sys.argv[2])) GPIO.cleanup()
- 编写完毕
- 将其另存为py文件steering.py
- 将其通过ssh放入树莓派中,/home/pi/steering.py
- 在终端中运行
复制代码
1
2
3>>> python3 steering.py 18 60 ----- 18 为针脚号 60 是角度
- 观察舵机动作,是否运动
驱动完成
最后
以上就是优雅导师最近收集整理的关于树莓派远程4G遥控车教程(二)-相机云台舵机初步调试树莓派远程4G遥控车教程(二)-相机云台舵机初步调试准备工作运行环境配置安装RPi.GPIO模块云台舵机接线单独舵机控制测试编写舵机运动程序的全部内容,更多相关树莓派远程4G遥控车教程(二)-相机云台舵机初步调试树莓派远程4G遥控车教程(二)-相机云台舵机初步调试准备工作运行环境配置安装RPi内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复