红外感应模块+蜂鸣器实现简易报警(转)

拿到了一个红外感应模块HC-SR501,于是就用它和蜂鸣器简单试验了下。主要是试验一下这个红外感应模块的功能,所以代码也写的很随便啦,逻辑上也欠考虑。
实现基本功能:运行脚本后,感应模块每隔一定时间检测,如有人靠近,则发出哔哔报警声,并在屏幕打印提示信息,人若离开,则停止鸣叫。


简易的电路图如下:


实物图,连线比较乱哈。。








Python脚本(缩进神马的不知道发上去后会不会错位):
import RPi.GPIO asGPIO
import time

#初始化
def init():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12,GPIO.IN)
GPIO.setup(21,GPIO.OUT)
pass

#蜂鸣器鸣叫函数
def beep():
while GPIO.input(12):
GPIO.output(21,GPIO.LOW)
time.sleep(0.5)
GPIO.output(21,GPIO.HIGH)
time.sleep(0.5)
#感应器侦测函数
def detct():
#因为是仅仅试验,所以只让它循环运行100次
for i in range(1,101):
#如果感应器针脚输出为True,则打印信息并执行蜂鸣器函数
if GPIO.input(12) == True:
print "Someone isclosing!"
beep()
#否则将蜂鸣器的针脚电平设置为HIGH
else:
GPIO.output(21,GPIO.HIGH)
print "Noanybody!"
time.sleep(2)


init()
detct()
#脚本运行完毕执行清理工作
GPIO.cleanup()

转载于:https://www.cnblogs.com/Pond-ZZC/p/6763462.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux运行apktool签名,解决Linux中使用ApkTool遇到问题

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?遇到问题在Linux中使用IntelliDroid工具时,按要求配置好环境之后,始终无法成功运行该工具内部的ApkTool,导致后续的安卓静态分析…

python 脚本学习(二)

task1: 在一个文件中,单词之间使用空格、分号、逗号或者句号分隔,请提取全部单词。 代码实例: 1234567891011#!/usr/local/python27/bin/python2.7import sys import re words [] with open(sys.argv[1]) as f: for line in f: #…

2.2 Consumer API官网剖析(博主推荐)

不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ 2.2 Consumer API 2.2、消费者API 随着0.9.0版本,我们已经增加了一个新的Java消费者替换我们现有的基于zookeeper的高级和低级消费者。这个客户端还是测试版的质量…

mybatis-generator-gui如何打包成exe

快速阅读: ​ 用wix和inno setup把mybatis-generator-gui 打包成exe和安装文件。 以后使用的时候方便,不用每次打开eclipse运行。 使用inno setup 5 和wix 3.11 基于mybatis generator开发一款界面工具, 非常容易及快速生成Mybatis的Java POJO文件及数据…

NeHe OpenGL教程 第三十课:碰撞检测

转自【翻译】NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改。对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢。 NeHe OpenGL第三十课…

andorid手机电脑操作

之前一直使用androidscreencast在pc上对手机进行操作,好久都没用了,前些天再次用的时候,提演示样例如以下: 决定还是自己写一个吧,由于7月份要做一个小分享,打算讲一些android的东西,须要在电脑上显示手机这边的画面,提供一定的操作. 花了一点时间做好了,给大家截一个图,代码放…

在组策略中使用脚本为域用户添加网络打印机

使用脚本为用户添加网络打印机 如果你想让培训部门的用户登录后就能添加网络打印机,就可以使用登录脚本来实现。其中DCServer是域控制,MarketPC1是市场部门的计算机,韩立辉用户是培训部门的用户。下面就验证使用组策略为培训部门的用户添加网…

为什么我从 Git Flow 开发模式切换到了 Trunk Based 开发模式?

我已经使用 Git Flow 构建我的 Git 分支有几年了。但是,我遇到了 Git Flow 的一些问题,其中大部分来自长期存在的分支。解决这些问题的方案就是 Trunk Based Development。这是一个非常简单的技术,也是有效的持续交付的基础。在这篇文章中&am…

DedeCMS 提示信息! ----------dede_addonarticle

把数据保存到数据库附加表 dede_addonarticle 时出错,请把相关信息提交给DedeCms官方。Duplicate entry ’2532′ for key ‘PRIMARY’出现这种情况其实是你的主键是不可重复的,现在重复插入值为2532的主键了。可以去掉主键唯一,或是设成自增…

搭建基于.NetFrameWork的私有nuget服务端及打包项目发布上传

一、私有Nuget服务端搭建 1.创建一个.NetFramework web项目 2.在nuget管理中 安装 nuget.server包 3.安装完成后修改web.config里面的 apikey 和 packagesPath apikey:推送包到nuget服务端 packpage: 上传上来的包存放的服务器位置 4.发布web项目到IIS中&#xff0c…

linux 网络配置 阮一峰,Vim 配置入门

Vim 是最重要的编辑器之一,主要有下面几个优点。可以不使用鼠标,完全用键盘操作。系统资源占用小,打开大文件毫无压力。键盘命令变成肌肉记忆以后,操作速度极快。服务器默认都安装 Vi 或 Vim。Vim 的配置不太容易,它有…

Linux 文件区块连续吗,关于Linux文件系统的的简单理解和认识

关于Linux文件系统的的简单理解和认识关于文件系统的运作,这与操作系统带的档案数据有关。例如Linux操作系统的档案权限(rwx)与文件属性(拥有者,群组,时间参数等)。文件系统通常会将这两部分的数据分别存放在不同的区块,权限与属性…

Microsoft Desktop Virtualization

基本上有两套啦,一是大家较为熟悉的MED-V。另外就是VDI(虚拟桌面基础架构),也就是以下的组合:1、Windows Server 2008 with Hyper-V 2、System Center Virtual Machine Manager (VMM) 2008 VMM 20083、Windows Vista Enterprise Centralized …

签入在服务器上之后,别人获取了,在解决方案资源管理器中找不到。

签入在服务器上之后,别人获取了,在解决方案资源管理器中找不到。 这个问题具体原因我也不太清楚,但是我找到了一个解决方案。直接在解决方案上右键,添加,添加现有项。把在解决方案资源管理器上看不见的选中&#xff0c…

03JavaScript程序设计修炼之道-2019-06-20_20-31-49

## DomDocument object model 文档对象模型Dom树html|head body| |meta title div|ul|li li li在js世界中,把dom树的每个元素都看成一个对象,对象就有属性和方法dom学什么 dom节点操作 查找元素 元素增删改查 样式操作 事件绑定等## 事件三要素 1 事件源…

linux 独占 cpu,宋宝华:谈一谈Linux让实时 高性能任务独占CPU的事

本文主要讨论在高实时要求、高效能计算、DPDK等领域,Linux如何让某一个线程排他性独占CPU;独占CPU涉及的线程、中断隔离原理;以及如何在排他性独占的状况下,甚至让系统的timer tick也不打断独占任务,从而实现最低的延迟…

linux update语句,MySQL 多表 update sql语句总结

MySQL 多表 update 有几种不同的写法。假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。在Mysql中我…

linux延时与定时操作

1、at ---系统延迟任务发起命令 at time >command ---任务指令 >ctrld ---发起任务 at -l ---列出延时任务Id at -r id ---删除改id任务 at -m ---让无输出的命令产生邮件 at -M ---让有输…

Windows Server 2008 部署权限管理RMS

1.1 实战:部署权限管理 试验目的: 在单域环境中部署活动目录权限管理服务,实现文档的保护。 试验环境: ? DCServer安装Windows Server 2008企业版,是ess.com的域控制器,安装企业CA。 ? RMSServer安装Wind…

编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法

Modbus通信协议中CRC校验的快速C语言算法2004年第11期            福 建 电 脑  63Modbus通信协议中CRC校验的快速C语言算法孟开元(西安石油大学计算机学院陕西西安710065)【摘 要】 本文主要讨论了Modbus通信协议的RTU帧格式中常用的错误校验方法,即循环冗…