实验十五:火焰报警器

认识火焰传感器
火焰传感器(即红外接收三极管)是机器人专门用来搜寻火源的传感器,本传感器对火焰特别灵敏。实物如图:

火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。

红外接收三极管的短引线端为负极,长引线端为正极。按照下图将负极接到5V接口中,然后将正极和10K电阻相连,电阻的另一端接到GND接口中,最后从火焰传感器的正极端所在列接入一根跳线,跳线的另一端接在模拟口中。如图

实验器材清单

  1. 火焰传感器 1个
  2. 蜂鸣器 1个
  3. 下拉电阻 10K欧姆 1个
  4. 面包板 1个
  5. 面包板跳线 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_火焰报警器相关推荐

  1. Ardino基础教程 19_舵机控制

    实验十九:舵机控制 舵机控制实验Servo库版本的代码参考如下链接:ArduinoCode19-舵机控制Servo库版本代码.ino 舵机是一种位置伺服的驱动器,主要是由外壳.电路板.无核心马达.齿轮 ...

  2. Ardino基础教程 14_倾斜开关

    实验十四:倾斜开关 倾斜开关控制led灯的亮灭 实验器材清单 滚珠开关 1个 LED灯 1个 220欧姆直插电阻 1个 面包板 1个 面包板跳线 1扎 实验接线图 按照Arduino教程将控制板.扩展 ...

  3. Ardino基础教程 2_LED闪烁实验

    实验二:LED 闪烁实验 LED 小灯实验是比较基础的实验之一,上一个" Hello World!"实 验里已经利用到了Arduino 自带的LED,这次我们利用其他I/O 口和 ...

  4. Ardino基础教程 25_8X8LED点阵

    实验二十五:8X8LED点阵 点阵实验另一版本代码参考如下链接下载:ArduinoCode25-8X8LED点阵num.ino 点阵在我们生活中很常见,很多都有用到他,比如LED 广告显示屏,电梯显示 ...

  5. Ardino基础教程 24_RGB全彩LED

    实验二十四:RGB全彩LED 使用三色全彩LED 制造 显示原理,其实原理是在一棵LED 灯里,有三种颜色的灯,红,绿,蓝.每种颜色的灯上的驱动电压不一样,亮度就不一样,它们组合在一起,就形成了各种颜 ...

  6. Ardino基础教程 23_步进电机

    实验二十三:步进电机 步进电机是一种将电脉冲转化为角位移的执行机构.通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角).你可以通过控制脉冲个数来控制 ...

  7. Ardino基础教程 22_PS2摇杆

    PS2摇杆 PS2 摇杆一般可以用来控制小车等等,其构造主要就是两个10K 的电位器,还有一个按键开关.五个端口分别为VCC,X,Button,Y,GND. 实验接线图 以下为参考程序代码: #inc ...

  8. Ardino基础教程 21_最简单最快控制LCD1602

    实验二十一:最简单最快控制LCD1602 实验接线图 下面个摇杆模块,不用接先不忙管. #include <LiquidCrystal.h> LiquidCrystal lcd(12, 1 ...

  9. Ardino基础教程 21_LCD1602液晶屏

    实验二十一:LCD1602液晶屏 本次试验使用arduino 直接驱动1602 液晶显示文字 1602 液晶在应用中非常广泛,最初的1602 液晶使用的HD44780 控制器,现在各个厂家的1602 ...

最新文章

  1. JWT(JSON Web Token)简介及实现
  2. 二值网络训练--Training Competitive Binary Neural Networks from Scratch
  3. OpenGL uniform变量赋值的三种方法
  4. 解决“The executable was signed with invalid entitlements.”问题
  5. 锤子不死!还有新手机,但要等很久...
  6. mysql 修改最大连接数
  7. IntelliJ Idea一些常用快捷键
  8. 语音交互的基本概念和设计实践
  9. 小象学院 零基础Python入门 3/4 python开发环境配置
  10. 金融信贷存量客户运营管理
  11. 使用BENCHMARKSQL工具对kingbase灌数据执行语句删除这些外键时报错constraint does not exist
  12. QMediaplayer播放本地文件mp4失败
  13. LVGL学习笔记1 - 准备
  14. python解析pdf中文乱码_使用Python第三方库pdfminer提取PDF内容,并解决中文编码不支持的问题...
  15. 第一章_Android入门
  16. sCrypt 合约中的椭圆曲线算法:第一部分
  17. Kubernetes: 微内核的分布式操作系统
  18. C语言:利用time函数的定时器
  19. 【opencv450 Image Processing】Histogram Calculation直方图计算
  20. IB数学TI nspire使用入门

热门文章

  1. 深入出不来nodejs源码-编译启动
  2. Swift - 移除页面视图上的所有元素
  3. HDU 1005 Number Sequence
  4. 在你的Fckeditor安装Google map plugin
  5. .NET字符串操作类StringHelper (C#版)
  6. 把tomcat服务器配置为windows服务的方法
  7. 使用PowerDesigner设计物理模型并运行脚本检查模型图解
  8. 谷歌地球API相关网页翻译
  9. Windows环境下spyder调用Arcpy
  10. Go语言的DES加密(CBC模式, ECB模式) ---- 与java加密互通(转)