文档章节

树莓派之智能电源开头-使用继电器和人体红外传感器

沉淀岁月
 沉淀岁月
发布于 2017/03/22 15:54
字数 956
阅读 136
收藏 0

自己研究树莓派也有一段时间了,之前做过用手机WiFi和语音控制的小车,后来太忙,没时间再继续,这周闲来无事,打算把玩一下自己买的传感器,做一个自动感应和可以远程控制的电源开关。

需要的物品:
1.树莓派自然不能少
2.一个插头,一段长度的电线(功率大一些,质量也要好一些的),一个插座。
3.继电器一个
4.人体红外传感器一个
先看一下初步完成的图: 


树莓派之智能电源开头-使用继电器和人体红外传感器


从图片上可以看出是非常简单的的连接,大概步骤如下:

1.将电线接到插头上,这个容易;
2.将电线的两根的其中一根在中间剪断,然后接到继电器的  “公共”和“常开”(也可以接在“常闭”)上面,“常开”和“常闭”的区别是高低电平控制是相反的,还有就是在树莓派关机或者断的时候,"常开"是不通电的,“常闭”是通电的。

3.将电线的另一端连接到一个插座上面
4连接到GPIO的管脚,先连接继电器的VCC和GND到RPi的5V和0V,也就是管脚序号2和6上面,再连接人体红外感应器的VCC和GND到RPi的5V和0V,因为两个元件都要连接电源,所以要使用面包板。
5.在不写程序的情况下进行测试,可以直接将人体红外感应器的OUT连接到继电器IN;
6.接通树莓派电源,其他部分电源也都接通,插上一个台灯,把台灯的开头打开;
7.开始测试,在传感器前走动,你会看到台灯一会亮一会灭,这样自动感应灯的功能就完成了,简单吧。

但从上面测试时可以看来,台灯的开和关是非常敏感的,我们希望在台灯打开后可以延时一段时间,假如开启后延时20秒,这样就必须要写一点程序了.
改变连接方式,将人体红外感应器的OUT接到RPi的序号11上.继电器的IN连到序号12上面,对应的名字是:GPIO 0和GPIO 1,如图所示:

树莓派之智能电源开头-使用继电器和人体红外传感器



写一个python程序:


#!/usr/bin/python
# Author : CodeLive
# Date   : 09/03/2014


# Import required Python libraries
import time
import RPi.GPIO as GPIO


GPIO.setmode(GPIO.BOARD)


# Define GPIO to use on Pi
GPIO_IN  = 11
GPIO_OUT = 12


print "Light Control Server @ CodeLive"


# Set pins as output and input
GPIO.setup(GPIO_IN,  GPIO.IN)
GPIO.setup(GPIO_OUT, GPIO.OUT)


while True:
        inValue = GPIO.input(GPIO_IN)
        if inValue != 0:
                print("Light Power ON")
                GPIO.output(GPIO_OUT, False)
                time.sleep(20.0)
                GPIO.output(GPIO_OUT, True)
                print("Light Power OFF")
        time.sleep(0.01)
# Reset GPIO settings
GPIO.cleanup()

运行后测试,感应到人体走动后,灯会亮20秒钟。

完成上述功能后,还是非常简的,下面就继续折腾,把这些乱七八糟的线封装起来,找了半天,发现手机包装盒子还挺合适的,就完成了下面的包装:

树莓派之智能电源开头-使用继电器和人体红外传感器


完成上述部分后,继续远程控制的程序,基于之前的程序,写一个HTTP Server,并且让程序在RPi开机后自动运行。
这部分代码比较多,主要的一个功能是处理HTTP GET请求: 
http://192.168.2.9:8000/relay_ctrl?on=[true/false]&delay=ms
控制继电器让电源开或者关,开的时候可以延时一段时间,可以直接在浏览器中控制电源的开和关,至此功能基本完成。


如果再继续折腾就是把语音控制加进去,还可以写一个Android/iOS的App.使用树莓派可以很容易的实现智能家居应用,希望大家有好的创意和点子来改变我们生活。

本文转载自:http://blog.sina.com.cn/s/blog_53c95d1c0102vnja.html

沉淀岁月
粉丝 27
博文 257
码字总数 91615
作品 0
朝阳
高级程序员
私信 提问
用树莓派通过Java实现远程控制电灯

用树莓派通过Java实现远程控制电灯 本文章由 亓根火柴 原创,转载请注明出处:http://blog.csdn.net/qigenhuochai/article/details/17661845 传说,女娲娘娘炼就七根火柴,来帮助人类度过第一个...

亓根火柴
2014/01/02
1K
2
基于树莓派如何开发机器人(附PPT+视频) | 硬创公开课

导语:树莓派是为学习计算机编程教育而设计的一种微型电脑,其系统是基于Linux的, 虽然只有信用卡大小,但视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。因此自问世以来,受到了...

金红
2017/03/09
0
0
[翻译完成] 用红外遥控器遥控树莓派

概述 本篇教程将会讲解如何用一部红外遥控器来遥控操作树莓派上安装的影音中心. 在开始之前, 你需要按此教程把树莓派搭建为影音中心. 需要的零件 在搭建好了影音中心之后, 你需要去买些零件....

八宝粥
2013/07/25
16.1K
17
如何用树莓派搭建一个颗粒物传感器

用树莓派、一个廉价的传感器和一个便宜的屏幕监测空气质量。 大约一年前,我写了一篇关于如何使用树莓派和廉价传感器测量空气质量的文章。我们这几年已在学校里和私下使用了这个项目。然而它...

作者: Stephan Tetzel
06/05
0
0
树莓派使用入门:进入物理世界 —— 如何使用树莓派的 GPIO 针脚

在树莓派使用入门的第十篇文章中,我们将学习如何使用 GPIO。 到目前为止,本系列文章主要专注于树莓派的软件方面,而今天我们将学习硬件。在树莓派最初发布时,最让我感兴趣的主要特性之一就...

作者: Anderson Silva
04/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部