黄工无刷电机学习
直播中

一曲作罢

9年用户 812经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术
私信 关注
[问答]

如何使用树莓派4b去控制直流电机

树莓派4b的针脚有哪些?
SG90舵机与树莓派4b是如何进行接线的?

回帖(1)

陈洁

2021-8-13 15:52:54
树莓派针脚图
我所使用的是树莓派4b,它的针脚图如下图所示:

其中,图像底端的黑色框框表示网线接口和u***接口。
舵机接线图
我所使用的舵机是经典的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 GPIOimport 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] = p13while 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)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分