1. 犀牛前端部落首页
  2. 树莓派

树莓派控制SG90舵机

树莓派控制SG90舵机

除步进电机外,还有小巧便宜的舵机。 Raspberry Pi舵机的控制非常简单,由于体积小,重量轻,因此可用于许多领域。

与步进电机不同,舵机可通过单个GPIO进行控制。

在本教程中,俺将讨论如何使用树莓派(RaspberryPi)控制一个SG90舵机。

硬件材料

  • 杜邦线
  • SG90
  • 树莓派((●’◡’●)这个是必须的)

树莓派与SG90连接

连接方式可以参考:

SG90 黑线->树莓派的GND

SG90红线->树莓派3v

SG90黄/橘线->树莓派的GPIO口,我们使用的17

树莓派控制SG90舵机实物连接图:

树莓派控制SG90舵机脚本编写

与步进电机不同,伺服电机不占用许多GPIO引脚来控制运动。 为此,旋转由脉冲的长度控制。

电机的角度沿脉冲长度设置,因此PWM特别有用,它以均匀的间隔发送重复信号(必须安装Raspberry Pi Python库)。

我们新建一个python文件,名字为servo.py,代码如下:

import RPi.GPIO as GPIO
import time

servoPIN = 17#GPIO口
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPIN, GPIO.OUT)

p = GPIO.PWM(servoPIN, 50) # GPIO 17 for PWM with 50Hz
p.start(2.5) # Initialization
try:
  while True:
    p.ChangeDutyCycle(5)
    time.sleep(0.5)
    p.ChangeDutyCycle(7.5)
    time.sleep(0.5)
    p.ChangeDutyCycle(10)
    time.sleep(0.5)
    p.ChangeDutyCycle(12.5)
    time.sleep(0.5)
    p.ChangeDutyCycle(10)
    time.sleep(0.5)
    p.ChangeDutyCycle(7.5)
    time.sleep(0.5)
    p.ChangeDutyCycle(5)
    time.sleep(0.5)
    p.ChangeDutyCycle(2.5)
    time.sleep(0.5)
except KeyboardInterrupt:
  p.stop()
  GPIO.cleanup()

当我们运行python servo.py的时候,你就可以SG90在旋转了。

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/2619.html

发表评论

登录后才能评论