Raspberry Pi 树莓派GPIO学习 – 控制家用电灯

如果不是那天偶然看到有位盆友在炫耀他的新技能:用树莓派通过Java实现远程控制电灯,上次购置折腾系列配件的时候也不会多买一个继电器,ok,既然买了,就把他折腾起来。

目的:
用程序控制家用灯泡,好像很酷的样子。

准备材料:
1. 树莓派一只
2. 5V低电平继电器扩展版
3. 家用灯泡一只
4. 公对母杜邦线三根
5. 面包板一块(可无)
6. 普通电线一段,用于连接灯泡

先来张图树莓派、面包板、继电器连接图

原理图是很简单的,继电器扩展版上低电端有三个引脚,分别是VCC、GND、IN,名词解释为:电源,接地,输入引脚。

简单的连线图(Fritzing还不会用):

树莓派连接5V低电平继电器示意图

所用继电器扩展版

继电器针脚接线图

VCC接树莓派5V针脚(红色)
GND 接树莓派GND针脚(棕色)
IN接树莓派GPIO25,或者其他的GPIO也可以,只要与程序控制的pin脚是一致的(橙色)

红色、棕色、橙色的杜邦线接法与下图“面包板接线图”是一致的

接好之后继电器扩展版的电源灯是亮的(红色LED)

继电器正面图这是继电器的玉照,有必要说明一下三个端点,常开、公共、常闭。

常开,正常状态为开路(开路即断开的),通电后关闭(连通)
公共端,顾名思义
常闭,正常状态为闭合(连通状态),通电后断开(开路)

因此,继电器是没有正负极之分,正负极可以任意接在常开或常闭,是否有电流通过取决于当前低电端给予的电平情况。

PS:接入家用电之后,强电端与继电器扩展版底部都是有电的,需谨慎操作,不幸的我就被电过一次,所以折腾的时候请小心。

再来张面包板的接线图:

面包板PIN接线图

很简单,没什么多说的,关于上图中针脚p*与GPIO对应关系,参考这里的关系图:https://lison.cc/?p=54

 

最终要实现的开关效果并不是带有ON/OFF的那种,往上按开,往下按关,而是类似电脑的开机键,按一下开,再按一下关。(有谁知道这种开关专业名称叫什么,老师说过,不过我忘了)

具体实现原理是读取GPIO针脚的电平状态,如果高电,说明已经打开,此时需关闭;如果低电,说明已经关闭,此时需打开。

程序中没有用到循环,而是执行一次开,再执行一次关。

还是直接贴代码:

wiringPi控制电灯源码light.c

 

唯一注意一点是为GPIO口设置高低电平时需先设置pin的模式,INPUT/OUTPUT。

wiringPi的官方资料还是要仔细看看的。

再来个演示视频:

后记
视频最后没有录制完,最后使用手机安装ConnectBot,可以远程用putty连接树莓派,并执行sudo ./light,从而以另一种欺骗的方式实现手机远程智能家居,以后研究一下android做个app控制家用电器。

参考文章:
http://wiringpi.com/reference/core-functions/
http://cafe.miwor.com/SAH/12.html

树莓派编号引脚说明:
http://blog.csdn.net/jcdjx/article/details/41866219

 

5 thoughts on “Raspberry Pi 树莓派GPIO学习 – 控制家用电灯

Leave a Reply

Your email address will not be published. Required fields are marked *

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。