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

树莓派3b+使用得科大功率电机驱动板驱动电机,键盘控制电机(利用pwm驱动和调速)一、树莓派GPIO引脚图二、导入RPi.GPIO模块可以用下面的代码导入RPi.GPIO模块

一、树莓派GPIO引脚图

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

二、导入RPi.GPIO模块

可以用下面的代码导入RPi.GPIO模块。

import RPi.GPIO as GPIO

三、得科驱动板简介

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

注意

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

四、代码实现(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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注