树莓派控制sg90舵机 驱动 Python详细教程|徐奥雯

news/2024/11/13 11:04:06/

在这里插入图片描述
灰色线为GND接地、红色线为VCC接5V供电、黄色线为脉冲输入
直接复制以下代码运行即可
运行前 请将脉冲输入所连接的树莓派GPIO引脚号 填写入下面的gpio_pin中
您可以直接运行此文件来测试他是否正常工作,你的舵机应该会开始运动
在其他py文件中 使用 import sg90_drive 来使用他
使用函数 sg90_drive.gs90_angle(角度或‘stop’) 来使用他

# SG90舵机 驱动
# 徐奥雯编写   XUAOWEN-ASSETS  E-MAIL:CHINA@XUAOWEN.CN  WECHAT:US-00000
# 灰色线为GND接地、红色线为VCC接5V供电、黄色线为脉冲输入
# 运行前 请将脉冲输入所连接的树莓派GPIO引脚号 填写入下面的gpio_pin中
# 您可以直接运行此文件来测试他是否正常工作,你的舵机应该会开始运动
# 在其他py文件中 使用 import sg90_drive 来使用他
# 使用函数 sg90_drive.gs90_angle(角度或‘stop’) 来使用他 import RPi.GPIO as gpio
import timegpio_pin = 4  ## 设置黄色线连接的树莓派GPIO口(BCM引脚编号)  手动改此行数据gpio.setmode(gpio.BCM)  # BCM引脚编号模式
gpio.setup(gpio_pin, gpio.OUT)  # 设置出# 舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。
# 周期为20ms 就是0.02秒一次  一秒就是50次 频率是50Hz  (计算式:1/0.02=50Hz)
# 脉冲宽度从0.5ms-2.5ms 除以20ms得出占空比 为 2.5% - 12.5%  对应0-180度
# 12.5%-2.5%=10%  180度-0度=180度  10/180 = 0.0555556 %/度   也就是角度每增加1度‘占空比’增加加0.0555556%
# 根据角度算出’占空比‘:’占空比‘等于(2.5+角度*0.0555556) 把0.0555556替换为10/180 算式为(2.5+角度*10/180)gs90_pwm = gpio.PWM(gpio_pin, 50)   # 实例  (针脚 , 50Hz频率  每秒多少次)# 占空比控制也被称为电控脉宽调制技术
# 简单的控制线路只能实现接通工作元件电路或切断工作元件线路这两种工况,也就是开或关,无论如何是不能够实现一定范围的从渐开到渐闭的无极线性调控。
# 而占空比控制技术却另辟蹊径,通过对以一定频率加在工作元件上的电压信号进行占空比控制,利用控制简单开关电路的接通和关闭的比率大小,
# 实现了对工作元件上的电压信号的电压平均值的控制,从而最终实现了对流经工作元件的电流控制。
gs90_pwm.start(0)  # 占空比 (范围:0.0 - 100.0)  表示在一个周期内,工作时间与总时间的比值# gs90_pwm.ChangeFrequency(100)  # 更新频率 设置新频率,单位为 Hz
# gs90_pwm.ChangeDutyCycle(10)  # 更新占空比 (范围:0.0 - 100.0)  表示在一个周期内,工作时间与总时间的比值def gs90_angle(angle):'''angle 输入0-180度 如果输入 'stop' 则停止'''if isinstance(angle, str):  # 判断数据类型if angle.upper() == 'STOP':gs90_pwm.ChangeDutyCycle(0)  # 更新占空比 (范围:0.0 - 100.0)  表示在一个周期内,工作时间与总时间的比值else:print('输入有误')elif isinstance(angle, int) or isinstance(angle, float):  # 判断数据类型gs90_pwm.ChangeDutyCycle(2.5 + angle * 10 / 180)  # 更新占空比 (范围:0.0 - 100.0)  表示在一个周期内,工作时间与总时间的比值if __name__ == '__main__':gs90_angle(0)time.sleep(0.3)gs90_angle('stop')time.sleep(5)gs90_angle(180)time.sleep(0.3)gs90_angle('stop')time.sleep(5)gs90_pwm.stop()  # 关闭该引脚的 PWMgpio.cleanup()  # 清理 在退出时使用

http://www.ppmy.cn/news/676080.html

相关文章

基于深度学习的人脸识别与管理系统(UI界面增强版,Python代码)

摘要:人脸检测与识别是机器视觉领域最热门的研究方向之一,本文详细介绍博主自主设计的一款基于深度学习的人脸识别与管理系统。博文给出人脸识别实现原理的同时,给出Python的人脸识别实现代码以及PyQt设计的UI界面。系统实现了集识别人脸、录…

Win11关闭Windows Defender实时保护,暂时关闭和永久关闭方法 | Win10怎么永久关闭Windows Defender实时保护

文章目录 1. 按2. 暂时关闭Windows Defender实时保护3. 永久关闭实时保护 1. 按 开启Windows Defender实时保护有时候会导致系统变得异常卡顿,严重影响系统的流畅度,并且由于会有几率错误拦截和查杀我们的正常操作,所以还会导致我们的程序无…

【数学】徐小湛第七高等数学新版

目录 1. 目录2. 下载地址 说明:倍速至1.2倍、去除噪声。 1. 目录 ├─第01章 │ 1 课程介绍 │ 10 函数的极限 (2) │ 11 函数极限的性质 │ 12 数列的极限 │ 13 数列极限的性质 │ 14 无穷小与无穷大 │ 15 极限的运算法则 …

html制作好看的个人简历(附源码)

文章目录 1.设计来源1.1 主界面1.2 基本资料页面1.3 个人名言页面1.4 教育经历页面1.5 联系方式页面1.6 自我评价页面1.7 工作经历页面1.8 兴趣爱好页面1.9 沟通交流页面 2.效果和源码2.1 动态效果2.2 源代码2.3 相关个人简历源码 源码下载 作者:xcLeigh 文章地址&a…

《Java高级程序设计》清华大学出版社 徐传远 课后习题答案

下载链接:http://www.tup.tsinghua.edu.cn/bookscenter/book_05610001.html

奥哲徐平俊:乘风、冒险与未来

低代码的本质是缩短业务和数字化的距离,那么它的终局就是实现业务数字原生。 作者|吴柯 出品|产业家 教学结束,彭龙习惯性打开电脑,熟练地在氚云低代码平台上拖拉拽搭建教学应用。鼠标滑轮不断滚动,几步操作下来,专…

徐家印

今天看了一下介绍徐家印的文章,看看他的经历,我发现做事有自己的想法,遇到困难不惧怕,另辟蹊径找出路,想办法才是需要的。 对他的非凡经历很有感触。