树莓派远程4G遥控车教程(二)-相机云台舵机初步调试

树莓派远程4G遥控车教程(一)-准备工作
树莓派远程4G遥控车教程(三)-摄像头安装及实现局域网实时监控
树莓派远程4G遥控车教程(四)-实时监控内网穿透及集成舵机控制功能

准备工作

出现问题欢迎私信我,大家一起讨论

  1. 树莓派4B+内存卡(已烧录系统)
  2. 舵机云台(已组装,包含两个9g舵机)(需要链接可以私信)
  3. 杜邦线若干
  4. 电脑ssh控制树莓派

运行环境配置

  1. 本文中使用python3进行舵机的控制,自行查找python3安装教程。
  2. 因为这里使用了python3,所以需要手动安装Python v3版本的RPi.GPIO模块。

安装RPi.GPIO模块

  1. 在ssh终端中先运行python3查看当前版本
pi@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. 安装模块
sudo apt-get -y install python3-rpi.gpio
sudo pip3 install --upgrade RPI.GPIO
  1. 测试是否安装完成(在输入python3后引用模块,查看是否报错)
pi@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
>>>

云台舵机接线

注:接线时务必保持树莓派断电状态
  1. 首先从商家到舵机数据,我这里是接入电压5V,工作频率:50Hz(周期:20 ms)
  2. 红色为正极,橙色为负极,其中黄色为控制线。
  3. 由舵机数据得,舵机接入5V电压。正极接入5V接口,负极接入GND接口,控制线接入任意支持GPIO功能接口。(GPIO接口支持pwm信号)
  4. 树莓派4B针脚图

单独舵机控制测试

  1. 这里只接入单个舵机进行测试
  2. 我将舵机的PWM控制线接入了GPIO.1接口
  3. 如上图树莓派针脚图得,树莓派针脚的编码方式有两种,分别是BCM和wiringPi。这里我使用了BCM的编码方式。
  4. 舵机控制线插在BCM编码为18的GPIO.1接口上。

开始测试

  1. 首先打开ssh终端输入python3,启动python编辑器
pi@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. 导入 RPi.GPIO模块
>>> import RPi.GPIO as GPIO
>>>
  1. 定义使用BCM引脚方案。并定义你使用的针脚(我这里控制线接在了编码为18的接口上)
>>> import RPi.GPIO as GPIO
......
>>> GPIO.setmode(GPIO.BCM)
>>> level = 18
  1. 将该针脚定义为输出模式
>>> import RPi.GPIO as GPIO
>>> GPIO.setmode(GPIO.BCM)
>>> level = 18
......
>>> GPIO.setup(level, GPIO.OUT)
  1. 前面的到数据,舵机频率为50HZ,这里设置为50HZ
>>> import RPi.GPIO as GPIO
>>> GPIO.setmode(GPIO.BCM)
>>> level = 18
>>> GPIO.setup(level, GPIO.OUT)
......
>>> frequency = GPIO.PWM(level, 50)
  1. 测试不同占空比舵机的运动情况,先定义占空比为0,依次增加,查看舵机运动情况。
>>> frequency.start(0)
>>> frequency.ChangeDutyCycle(2)
>>> frequency.ChangeDutyCycle(4)
>>> frequency.ChangeDutyCycle(6)
>>> frequency.ChangeDutyCycle(8)
>>> frequency.ChangeDutyCycle(10)
>>> frequency.ChangeDutyCycle(12)
>>> frequency.stop()
  1. 在这里我观察舵机运动得到,舵机可以再2和12之间运动。最大占空比为12。占空比为12时,舵机达到运行最大角度。
  • 0 -角度为0
  • 6 -角度为90
  • 12 - 角度为180

编写舵机运动程序

from 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 systrans = int(sys.argv[1])GPIO.setup(trans,GPIO.OUT)# 将输入针脚 改为输出模式settransrotation(trans,int(sys.argv[2]))GPIO.cleanup()
  1. 编写完毕
  2. 将其另存为py文件steering.py
  3. 将其通过ssh放入树莓派中,/home/pi/steering.py
  4. 在终端中运行
>>> python3 steering.py 18 60
----- 18 为针脚号  60 是角度
  1. 观察舵机动作,是否运动

驱动完成

树莓派远程4G遥控车教程(二)-相机云台舵机初步调试相关推荐

  1. 树莓派远程4G遥控车教程(三)-摄像头安装及实现局域网实时监控

    树莓派远程4G遥控车教程(三)-摄像头安装及实现局域网实时监控 树莓派远程4G遥控车教程(一)-准备工作 树莓派远程4G遥控车教程(二)-相机云台舵机初步调试 树莓派远程4G遥控车教程(四)-实时监控 ...

  2. 树莓派远程4G遥控车教程(四)-实时监控内网穿透及集成舵机控制功能

    树莓派远程4G遥控车教程(四)- 内网穿透及监控页面集成舵机控制功能 树莓派远程4G遥控车教程(一)-准备工作 树莓派远程4G遥控车教程(二)-相机云台舵机初步调试 树莓派远程4G遥控车教程(三)-摄 ...

  3. 【LinuxCNC开发序列教程二】Ethercat主站终端调试

    老朋友,今天的目标是在终端上调试Ethercat主站.希望对大家有点帮助,有不足之处相互讨教,谢谢. 硬件如下: CPU:Atom E3845 网卡驱动:R8169 系统:Ubuntu 12.04 L ...

  4. 树莓派远程连接工具VNC使用教程

    树莓派远程连接工具VNC使用教程 #树莓派# 背景故事 树莓派作为一款迷你小主机,大部分的使用场景都会用到远程调试,远程调试用到最多的方式一般就是VNC和SSH,VNC是远程桌面型的远程方式,简单来说 ...

  5. 树莓派教程二-网络配置

    2019独角兽企业重金招聘Python工程师标准>>> 因为做毕设,寒假在折腾树莓派,搞得差不多,写了几篇文章,供大家学习,原文在爱板网,然后我转到果壳这里来乐:树莓派教程二-网络配 ...

  6. 基于4G LTE模块的树莓派远程SSH连接方案(内网穿透)

    关键词: 树莓派  Raspberry  4G  LTE  华为  Huawei  ME909  移远  EC20  公网服务器  远程连接  远程SSH  MobaXterm  内网穿透 概述:树莓 ...

  7. 树莓派初次开机配置教程

    树莓派初次开机配置教程 #树莓派# 背景故事 树莓派镜像烧录完成后,一堆配置步骤,应该如何选择呢?本教程一一给大家演示一遍. 准备工作 刷好镜像的SD卡 树莓派刷机烧录镜像可以参考我的上一篇教程 显示 ...

  8. Android WebRTC 入门教程(二) -- 模拟p2p本地视频传输

    Android WebRTC 入门教程(一) – 使用相机 Android WebRTC 入门教程(二) – 模拟p2p本地视频传输 源码工程: https://github.com/LillteZh ...

  9. 树莓派安装ubuntu18.04教程

    树莓派安装ubuntu18.04教程,保姆级教程(哪个不会留言,常在线) 本文操作环境:笔记本.树莓派4b-4gb.24寸显示屏 本人也是网上看了很多教程,不免有相似之处 1.server安装包(非桌 ...

最新文章

  1. 【转】 Android快速开发系列 10个常用工具类 -- 不错
  2. spring-xml实现aop-通知的种类
  3. yii2使用 db log
  4. 面向对象编程(基础简介)
  5. 信息抽取--新词提取
  6. c#如何通过ftp上传文件_自动备份ftp,通过定时设置自动备份ftp上传下载文件
  7. C语言查看tuxedo队列长度,tuxedo的常用启、停、参数讲解、日志查看
  8. cad多线段长度计算总和_CAD小白必备:1秒教会你CAD画线,再也不为画线烦恼
  9. CISCO常用配置命令
  10. c语言试题答题卡,c语言题目及答题卡.docx
  11. tlo是什么意思_单片机计时器程序里TMOD、THO、TLO都是什么意思?需要编一个计时器来代替delay,让单片机保持状态3秒...
  12. html用if函数,if函数的使用方法(IF函数七种条件判断用法都在这)
  13. 最佳牛栏(前缀和+二分)
  14. webpack 深入浅出分析之打包 JS、ES6 和 Typescript
  15. 【云和恩墨大讲堂】罗海雄 | 如何在不改SQL的情况下优化数据库
  16. QTableWidget表格控件的用法
  17. Linux中计算特定CPU使用率
  18. 连载26:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
  19. C++ thread用法总结(整理)
  20. CAD进阶练习(四)

热门文章

  1. 半桥llc 增益 matlab程序,【我已收藏】很完整的LLC谐振半桥电路分析与计算
  2. ln(1+x)和ln(1-x)的麦克劳林级数
  3. 统计|如何理解估计量的三条评价标准
  4. ModBus(RTU TCP UDP通信)及利用socket通信(DTU)实现Modbus-RTU通信协议
  5. 什么是SD-WAN?网络技术科普
  6. oracle11g磁盘阵列 pdf,融会贯通 从Oracle11g到SQL Server2008 中文PDF版 16.7MB
  7. 20.3. texi2html
  8. 电脑端bilibili视频缓存合并视频的解惑
  9. 2019年安徽省大数据与人工智能应用赛总结---本科组
  10. Win7 usb连接打印机无法使用,在控制面板有usbprint小黄感叹号,windows update无法找到相应驱动。