一、树莓派GPIO引脚图
二、导入RPi.GPIO模块
可以用下面的代码导入RPi.GPIO模块。
import RPi.GPIO as GPIO
三、得科驱动板简介
注意
四、代码实现(machine.py)
#coding=utf-8
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
IN1 = 11
IN2 = 12
IN3 = 13
IN4 = 15
def init():
global p1
global p2
global p3
global p4
GPIO.setup(IN1, GPIO.OUT) #设置引脚模式
GPIO.setup(IN2, GPIO.OUT)
GPIO.setup(IN3, GPIO.OUT)
GPIO.setup(IN4, GPIO.OUT)
p1= GPIO.PWM(IN1, 100) #设定pwm启动参数
p2= GPIO.PWM(IN2, 100)
p3= GPIO.PWM(IN3, 100)
p4= GPIO.PWM(IN4, 100)
p1.start(0) #设置PWM初始值
p2.start(0)
p3.start(0)
p4.start(0)
def stop():
p1.ChangeDutyCycle(0) #改变pwm占空比的值
p2.ChangeDutyCycle(0)
p3.ChangeDutyCycle(0)
p4.ChangeDutyCycle(0)
def up():
p1.ChangeDutyCycle(50)
p2.ChangeDutyCycle(0)
p3.ChangeDutyCycle(50)
p4.ChangeDutyCycle(0)
def down():
p1.ChangeDutyCycle(0)
p2.ChangeDutyCycle(50)
p3.ChangeDutyCycle(0)
p4.ChangeDutyCycle(50)
if __name__ == "__main__":
try:
init() #初始化引脚
time.sleep(1)
while True:
res = raw_input()
print("The input value is:",res)
if (res == "w" or res == "W"):#按w并回车确认,电机以50占空比转动
up()
print("forward",time.ctime())
if (res == "s" or res == "S"):#按s并回车确认,电机停止转动
stop()
print("stop",time.ctime())
if (res == "d" or res == "D"):#按d并回车确认,电机以50占空比转动
down()
print("back",time.ctime())
except KeyboardInterrupt: #程序异常处理,释放所有使用到的GPIO端口
GPIO.cleanup()
五、运行代码
sudo python machine.py
今天的文章树莓派3b+使用得科大功率电机驱动板驱动电机,键盘控制电机(利用pwm驱动和调速)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/63219.html