本文起源于本科毕业设计中所要实现的功能,如何用树莓派的gpio口驱动一些小功率的电器,以下使用喷头功能的实现来进行阐述。
一、实现方法:
1.继电器:放大电流
2.三极管(PNP、NPN都可):小电流导通
本文采用继电器导通,更为方便快捷,读者也可以尝试三极管方式。
二、所需设备:
1.所驱动电器
2.继电器一个
3.电源一个(可用充电宝代替)
4.usb数据线一根
三、电路连接
喷头电路是由水泵、电源和继电器构成的。将继电器的接电源和接地分别接入树莓派对应接口,将输入口IN接入树莓派的任意一未被占用的GPIO口,本系统连接的是GPIO22,继电器的另一端COM口连接至电源的正极、NO口连接至水泵的正极;水泵的负极与电源的负极相连。
这里需要注意的是:1.连接电源的线可以用数据线,将usb口保留,另一端剪出铜丝分别连接。2.水泵的连线也是如此。3.本文仅适用于20V以下小型电器,其余大电流设备请谨慎实验。
图1:喷头电路连接图
四、代码控制
import RPi.GPIO as GPIO #导入GPIO库
import time #导入time库
channel = 22 #设定管脚
GPIO.setmode(GPIO.BCM) #编码模式设定
time.sleep(1) #休眠1s
GPIO.setup(channel,GPIO.OUT) #将GPIO16口设置为输出口
GPIO.output(channel,GPIO.HIGH) #将GPIO16口设置为高电平,开启设备
sleep(5)#设备工作5秒
GPIO.output(channel,GPIO.LOW) #将GPIO16口设置为低电平,关闭设备
驱动水泵的工作原理是给GPIO22管脚设置高低电平来控制水泵的开关。当GPIO22输出高电平时,由继电器将这一高电平电压放大成大电流,以驱动水泵开启;控制到达一定要求时则输出低电平关闭水泵。