树莓派针脚图
我所使用的是树莓派4b,它的针脚图如下图所示:

其中,图像底端的黑色框框表示网线接口和usb接口。
舵机接线图
我所使用的舵机是经典的SG90舵机,它的接线图如下图所示:
其中,GPIO13对应于树莓派4b针脚图中的BCM 13针脚
控制舵机
安装GPIO库
我所使用的python版本为pyhton3.7,因此,可以通过以下命令安装GPIO库:
pip3 install rpi.gpio
如果大家没有安装pip,可以通过以下命令进行pip的安装
sudo apt-get install python-pip
使用GPIO库控制舵机
基础的使用方法如下所示:
# -*- coding:utf-8 -*-
import RPi.GPIO as GPIO
import time
# 将舵机角度转换为信号占空比,0-180度对应2.5%-12.5%
def tonum(num):
fm = 10.0/180.0
num = num*fm + 2.5
num = int(num*10)/10.0
return num
# 设置模式
GPIO.setmode(GPIO.BCM)
# 设置几号引脚为输出引脚
GPIO.setup(13, GPIO.OUT)
test = {}
# PWM波的采样速度
p13 = GPIO.PWM(13, 50)
# 将舵机的角度归零
p13.start(tonum(0))
# 测试使用list来包装引脚
test[13] = p13
while 1:
num = int(input('num'))
# 如果输入的角度值不在舵机可转动范围内
if num < 0 or num > 180:
test[13].stop()
exit()
else:
# 根据输入的角度来换算成信号并进行转动
test[13].ChangeDutyCycle(tonum(num))
# 以下两句话用于放置舵机在上电保持角度是出现抖动
time.sleep(1)
test[13].ChangeDutyCycle(0)
1万+



被折叠的 条评论
为什么被折叠?



