2025年树莓派3b+使用得科大功率电机驱动板驱动电机,键盘控制电机(利用pwm驱动和调速)

树莓派3b+使用得科大功率电机驱动板驱动电机,键盘控制电机(利用pwm驱动和调速)一 树莓派 GPIO 引脚图 二 导入 RPi GPIO 模块 可以用下面的代码导入 RPi GPIO 模块 import RPi GPIO as GPIO 三 得科驱动板简介 注意 四 代码实现 machine py coding utf 8 import RPi GPIO as GPIO import time GPIO

大家好,我是讯享网,很高兴认识大家。

一、树莓派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

 

小讯
上一篇 2025-01-14 14:32
下一篇 2025-02-11 19:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/63952.html