除步进电机外,还有小巧便宜的舵机。 Raspberry Pi舵机的控制非常简单,由于体积小,重量轻,因此可用于许多领域。
与步进电机不同,舵机可通过单个GPIO进行控制。
在本教程中,俺将讨论如何使用
硬件材料
杜邦线
SG90
树莓派((●’◡’●)这个是必须的)
树莓派与SG90连接
连接方式可以参考:
SG90 黑线->树莓派的GND
SG90红线->树莓派3v
SG90黄/橘线->树莓派的GPIO口,我们使用的17
实物连接图:
脚本编写
与步进电机不同,伺服电机不占用许多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