Ardino基础教程 15_火焰报警器
实验十五:火焰报警器
认识火焰传感器
火焰传感器(即红外接收三极管)是机器人专门用来搜寻火源的传感器,本传感器对火焰特别灵敏。实物如图:
火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。
红外接收三极管的短引线端为负极,长引线端为正极。按照下图将负极接到5V接口中,然后将正极和10K电阻相连,电阻的另一端接到GND接口中,最后从火焰传感器的正极端所在列接入一根跳线,跳线的另一端接在模拟口中。如图
实验器材清单
- 火焰传感器 1个
- 蜂鸣器 1个
- 下拉电阻 10K欧姆 1个
- 面包板 1个
- 面包板跳线 1扎
实验接线
蜂鸣器接线
首先,按照Arduino教程将控制板、prototype板子、面包板连接好,下载线接好。从实验盒中取出蜂鸣器,按照第二节实验蜂鸣器的连接方法,将蜂鸣器连接到数字第8口。完成蜂鸣器的连接。
火焰传感器接线
从实验盒中取出火焰传感器,按照本节所讲述的火焰传感器的接线方法,将火焰传感器接到模拟5口。完成整个实验的连线。蜂鸣器接到第9脚,火焰传感器接到模拟A0脚。
实验原理
在有火焰靠近和没有火焰靠近两种情况下,模拟口读到的电压值是有变化的。实际用万用表测量可知,在没有火焰靠近时,模拟口读到的电压值为0.3V左右;当有火焰靠近时,模拟口读到癿电压值为1.0V左右,火焰靠近距离越近电压值越大。所以在程序一开始,我仧可以先存储一个没有火焰时模拟口的电压值i。接着不断的循环读取模拟口电压值j、同存储的值做差值k=j-i、差值k不0.6v做比较。差值k如果大于0.6V(数字二迕制值为123),则判断有火焰靠近让蜂鸣器发出声音以作报警;如果差值小于0.6v则蜂鸣器不响。
以下为参考源程序:
int flame=0;//定义火焰接口为模拟0 接口
int Beep=9;//定义蜂鸣器接口为数字9 接口
int val=0;//定义数字变量
void setup()
{
pinMode(Beep,OUTPUT);//定义LED 为输出接口
pinMode(flame,INPUT);//定义蜂鸣器为输入接口
Serial.begin(9600);//设定波特率为9600
}
void loop()
{
val=analogRead(flame);//读取火焰传感器的模拟值
Serial.println(val);//输出模拟值,并将其打印出来
if(val>=600)//当模拟值大于600 时蜂鸣器鸣响
{
digitalWrite(Beep,HIGH);
}else
{
digitalWrite(Beep,LOW);
}
delay(500);
}
实验现象
本程序可以模拟在有火焰时报警的情况,在没有火焰时一切正常,当有火焰时立刻报警做出提示。
程序代码
int flame=0;//定义火焰接口为模拟0 接口int Beep=9;//定义蜂鸣器接口为数字9 接口int val=0;//定义数字变量void setup()
{pinMode(Beep,OUTPUT);//定义LED 为输出接口pinMode(flame,INPUT);//定义蜂鸣器为输入接口Serial.begin(9600);//设定波特率为9600 }
void loop()
{ val=analogRead(flame);//读取火焰传感器的模拟值 Serial.println(val);//输出模拟值,并将其打印出来if(val>=600)//当模拟值大于600 时蜂鸣器鸣响{ digitalWrite(Beep,HIGH); }else { digitalWrite(Beep,LOW); }delay(500);
}
Ardino基础教程 15_火焰报警器相关推荐
- Ardino基础教程 19_舵机控制
实验十九:舵机控制 舵机控制实验Servo库版本的代码参考如下链接:ArduinoCode19-舵机控制Servo库版本代码.ino 舵机是一种位置伺服的驱动器,主要是由外壳.电路板.无核心马达.齿轮 ...
- Ardino基础教程 14_倾斜开关
实验十四:倾斜开关 倾斜开关控制led灯的亮灭 实验器材清单 滚珠开关 1个 LED灯 1个 220欧姆直插电阻 1个 面包板 1个 面包板跳线 1扎 实验接线图 按照Arduino教程将控制板.扩展 ...
- Ardino基础教程 2_LED闪烁实验
实验二:LED 闪烁实验 LED 小灯实验是比较基础的实验之一,上一个" Hello World!"实 验里已经利用到了Arduino 自带的LED,这次我们利用其他I/O 口和 ...
- Ardino基础教程 25_8X8LED点阵
实验二十五:8X8LED点阵 点阵实验另一版本代码参考如下链接下载:ArduinoCode25-8X8LED点阵num.ino 点阵在我们生活中很常见,很多都有用到他,比如LED 广告显示屏,电梯显示 ...
- Ardino基础教程 24_RGB全彩LED
实验二十四:RGB全彩LED 使用三色全彩LED 制造 显示原理,其实原理是在一棵LED 灯里,有三种颜色的灯,红,绿,蓝.每种颜色的灯上的驱动电压不一样,亮度就不一样,它们组合在一起,就形成了各种颜 ...
- Ardino基础教程 23_步进电机
实验二十三:步进电机 步进电机是一种将电脉冲转化为角位移的执行机构.通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角).你可以通过控制脉冲个数来控制 ...
- Ardino基础教程 22_PS2摇杆
PS2摇杆 PS2 摇杆一般可以用来控制小车等等,其构造主要就是两个10K 的电位器,还有一个按键开关.五个端口分别为VCC,X,Button,Y,GND. 实验接线图 以下为参考程序代码: #inc ...
- Ardino基础教程 21_最简单最快控制LCD1602
实验二十一:最简单最快控制LCD1602 实验接线图 下面个摇杆模块,不用接先不忙管. #include <LiquidCrystal.h> LiquidCrystal lcd(12, 1 ...
- Ardino基础教程 21_LCD1602液晶屏
实验二十一:LCD1602液晶屏 本次试验使用arduino 直接驱动1602 液晶显示文字 1602 液晶在应用中非常广泛,最初的1602 液晶使用的HD44780 控制器,现在各个厂家的1602 ...
最新文章
- JWT(JSON Web Token)简介及实现
- 二值网络训练--Training Competitive Binary Neural Networks from Scratch
- OpenGL uniform变量赋值的三种方法
- 解决“The executable was signed with invalid entitlements.”问题
- 锤子不死!还有新手机,但要等很久...
- mysql 修改最大连接数
- IntelliJ Idea一些常用快捷键
- 语音交互的基本概念和设计实践
- 小象学院 零基础Python入门 3/4 python开发环境配置
- 金融信贷存量客户运营管理
- 使用BENCHMARKSQL工具对kingbase灌数据执行语句删除这些外键时报错constraint does not exist
- QMediaplayer播放本地文件mp4失败
- LVGL学习笔记1 - 准备
- python解析pdf中文乱码_使用Python第三方库pdfminer提取PDF内容,并解决中文编码不支持的问题...
- 第一章_Android入门
- sCrypt 合约中的椭圆曲线算法:第一部分
- Kubernetes: 微内核的分布式操作系统
- C语言:利用time函数的定时器
- 【opencv450 Image Processing】Histogram Calculation直方图计算
- IB数学TI nspire使用入门
热门文章
- 深入出不来nodejs源码-编译启动
- Swift - 移除页面视图上的所有元素
- HDU 1005 Number Sequence
- 在你的Fckeditor安装Google map plugin
- .NET字符串操作类StringHelper (C#版)
- 把tomcat服务器配置为windows服务的方法
- 使用PowerDesigner设计物理模型并运行脚本检查模型图解
- 谷歌地球API相关网页翻译
- Windows环境下spyder调用Arcpy
- Go语言的DES加密(CBC模式, ECB模式) ---- 与java加密互通(转)