2017-4-26 14:50:08 [显示全部楼层]
33562浏览
查看: 33562|回复: 14

[Arduino轻松学] Arduino轻松学Mixly编程第10课红外报警装置

[复制链接]
Arduino轻松学Lesson 10 红外报警装置


1. 课程简介
今天课程为大家讲解程序中断函数的应用。
认真完成第8课作业的同学会发现,只有在灯的呼吸效果亮度最低时按下按键,才能触发切换操作,而在呼吸效果的其他环节按下按键,灯效并未改变。这是因为一次完整的呼吸效果实现需要持续数秒,此时UNO板并不读取外部传感器信号,也就无法对按键交互做出即时反馈。而今天要为大家介绍的程序中断,将赋予程序较高优先级,让程序可以在UNO板执行其他普通优先级代码时也可实时检测高优先级的外界交互并实时处理。
本节课的案例将使用人体红外接近模块和蜂鸣器制作一个红外入侵报警器。

本节课所需硬件:
Arduino UNO、IO扩展板、红外接近传感器、蜂鸣器
Arduino轻松学Mixly编程第10课红外报警装置图1
2. 本节知识点:
程序中断
函数

3. 元件介绍
红外接近模块
套件中的红外接近模块是基于热释电原理的人体红外检测设备。人体恒温37℃左右,会向周围环境中释放波长为10μm左右的红外线,检测设备内的热释电晶体检测到检测到该特定波长的红外线后,会在晶体两端产生数量相等而符号相反的电荷,后续电路检测到该电荷后将模块对外输出的电平信号由高电平切换为低电平

4.Mixly模块
中断模块
Arduino轻松学Mixly编程第10课红外报警装置图4
模块位置:“输入输出”栏
模块功能:为程序增加中断,对传感器输入进行实时处理

函数声明模块
Arduino轻松学Mixly编程第10课红外报警装置图2
模块位置:“函数”栏
模块功能:将一段程序代码封装在一起,可直接通过函数名invasion()调用。

函数调用
Arduino轻松学Mixly编程第10课红外报警装置图3
模块位置:“函数”栏
模块功能:调用自定义的函数“invasion()”。

5.程序及流程图
程序图

Arduino轻松学Mixly编程第10课红外报警装置图5

流程图

Arduino轻松学Mixly编程第10课红外报警装置图7
6.关联知识讲解
中断:
中断可以简单的理解为程序运行时的“插队”。
我们所编写的程序再Arduino UNO上的CPU中具有不同的优先级,中断程序具有高优先级,CPU会优先执行。一旦外部端口触发中断操作,主控板上的CPU会暂停正在执行的程序,转而执行中断程序,待中断程序执行完毕后,再返回中断前暂停的程序继续执行。
Arduino轻松学Mixly编程第10课红外报警装置图6
ArduinoUNO板上只有数字引脚2、3端口可以触发中断,并且引脚2对应的中断优先级要高于引脚3对应的中断。

UNO的中断有4种模式,但Mixly只提供3种模式支持:
上升: 外部传感器输入信号由低电平切换为高电平,比如按键按下
下降: 外部传感器输入信号由高电平切换为低电平,比如红外接近模块触发、按键弹起
改变: 外部传感器输入信号发生改变,高变低或低变高。


7.课堂练习
更改程序,将报警器变为持续报警,即检测到人开始报警并持续直至人离开。


8.作业及挑战
将第8课的状态切换灯作业使用中断完成,对比两者的实现效果有何不同。
上传形式:程序截图+效果(图片+视频或动图),使用压缩包上传。

修改第10课的课程案例:
白天时是入侵报警器,有人靠近时,发出声音警报,延时3s;夜晚时变身小夜灯,检测到有人靠近时,点亮LED灯,延时5s关闭。


课程简介
《Arduino轻松学》是科技学堂制作的在线系列创客教学视频之一。《轻松学》是一套Arduino开发的基础入门课程,适合还没有过硬件开发和编程经验的人群做入门学习使用。本课程中,每节课带你制作一个趣味小项目,在学到技术的同时,也开动想象发挥创造。
课程案例

《轻松学》课程中使用非常适合初学者的DFRobot的米思齐(Mixly)编程积木入门套装,软件选用图形化编程的Mixly。课程以视频+图文的呈现形式,深入浅出。既有操作演示,又方便学习者自主观看查询,轻松完成Arduino的入门学习。

纸模.pdf

221.92 KB, 下载次数: 8646

 学徒

发表于 2018-10-13 00:26:21

谢谢老师 辛苦
回复

使用道具 举报

shijinxianzhe  高级技匠

发表于 2017-4-26 14:52:49

又学习了一遍,发到哪,跟到哪,铁粉呀!
回复

使用道具 举报

hnyzcj  版主

发表于 2017-4-27 13:19:29

学习学习值得学习
回复

使用道具 举报

dsweiliang  初级技神

发表于 2017-4-27 23:37:34

这一套东东好像很好玩的样子
回复

使用道具 举报

jiashe2011  见习技师

发表于 2017-5-17 00:44:35

Lesson 10 红外报警装置
回复

使用道具 举报

创客多多  见习技师

发表于 2017-7-11 22:04:40

不错,学习到很多。这里视频讲的是invasion,下面的讲解是onchange,两个一样的吗?
回复

使用道具 举报

xar  初级技匠

发表于 2017-9-10 17:20:43

一步步来吧
回复

使用道具 举报

ldsgrh  见习技师

发表于 2017-11-29 23:26:28

刚刚接触这些东西,喜欢!
回复

使用道具 举报

郁郁葱葱  学徒

发表于 2017-12-17 15:14:30

请问怎么提交作业?
回复

使用道具 举报

Ash  管理员
 楼主|

发表于 2017-12-17 16:20:05

郁郁葱葱 发表于 2017-12-17 15:14
请问怎么提交作业?

1.你可以回复里点击“高级模式”编辑上传你的作业内容
2.或者在这个版块开一个新帖,可以点击这个:

Arduino轻松学Mixly编程第10课红外报警装置图1

回复

使用道具 举报

唯一色彩  学徒

发表于 2019-1-20 21:41:13

讲的真好  谢谢老师
回复

使用道具 举报

rswjf  学徒

发表于 2019-1-22 13:32:10

真不错,直观
回复

使用道具 举报

FTT  学徒

发表于 2019-3-9 12:11:27

简单易懂
回复

使用道具 举报

劲松  学徒

发表于 2021-12-6 11:27:50

老师为什么我的蜂鸣器。发不出声音啊。同时给蜂鸣器和灯都设为高。灯着了。。蜂鸣器只有一点点电流声
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail