其他分享
首页 > 其他分享> > 树莓派|两路继电器控制直流电机转动、正反转

树莓派|两路继电器控制直流电机转动、正反转

作者:互联网

一、电路连接
准备硬件:
树莓派
继电器
为继电器供电的电源
直流电机
为直流电机供电的电源
在这里插入图片描述
在这里插入图片描述
(我用的这种继电器和直流电机)
按图所示连接电路
在这里插入图片描述

注意继电器的电源,继电器有5v,12v,24v可以选择,5v可直接连到树莓派供电,12v,24v要另外准备电源。
八路继电器和一路继电器使用方法相同。**控制电机正反转只需要一路继电器。**若同时控制电机正反转和转速,需要两路。给电机供电的电源也要匹配。

二、控制正反转程序(python)

进入树莓派远程桌面连接在这里插入图片描述

import RPi.GPIO
import time

#time_out = 2
IN8 = 21
IN7 = 20

RPi.GPIO.setmode(RPi.GPIO.BCM)
RPi.GPIO.setup(IN8,RPi.GPIO.OUT)
RPi.GPIO.setup(IN7,RPi.GPIO.OUT)

a = int(input("zhuandong 0 , fanzhuan 1, tingzhi 2 :"))   #键盘输入0,正转,输入1,反转,输入2,停止转动
while True:
    if a == 0:
        while 1:
            RPi.GPIO.output(IN7,1)
            RPi.GPIO.output(IN8,0)
            a = int(input("zhuandong 0 , fanzhuan 1, tingzhi 2 :"))
            if (a == 1 or a == 2):
                break
    if a == 1:
        while 1:
            RPi.GPIO.output(IN7,1)
            RPi.GPIO.output(IN8,1)          
            a = int(input("zhuandong 0 , fanzhuan 1, tingzhi 2 :"))
            if (a == 0 or a == 2):
                break
    if a == 2:
         while 1:
            RPi.GPIO.output(IN7,0)
            RPi.GPIO.output(IN8,0)
            a = int(input("zhuandong 0 , fanzhuan 1, tingzhi 2 :"))
            if (a == 0 or a == 1):
                break
input()
GPIO.cleanup()

正确运行代码结果如图
在这里插入图片描述
上电后,电机不动,键盘输入指令。
键盘输入0,继电器模块IN7接通,IN8断开,电机开始转动。
键盘输入1,继电器模块IN7接通,IN8接通,电机开始反转。
键盘输入2,继电器模块IN7断开,IN8断开,电机停止转动。

标签:树莓,IN7,IN8,继电器,RPi,output,直流电机,GPIO
来源: https://blog.csdn.net/abcde123qw123/article/details/114673199