Arduino使用火焰传感器

  本文介绍的是37款传感器中的火焰传感器,传感器的图形如下:
在这里插入图片描述
  该传感器共有四个引脚,中间两个引脚是电源引脚,上面是D0引脚,下面是A0引脚。根据参考文献1中的内容判断,A0引脚应该是向外输出传感器的模拟值。而根据参考文件2中的叙述,D0引脚输出的应该是开关量,通过旋转蓝色模块上的旋钮调节开关量的阈值。本文中主要使用A0引脚。
  用打火机检测打火机由远及近接近火焰传感器,再由近及远离开的过程中A0引脚的输出值。测试代码如下:

int flame = A0; //定义火焰传感器接口
void setup()
{
	pinMode(flame,INPUT);//定义flame为输入接口
	Serial.begin(9600);//设定波特率为9600
}
void loop()
{
	Serial.println(analogRead(flame));//输出模拟值,并将其打印出来
}

  将串口监视器中输出的数值集合导入到Matlab中绘制图形如下:
在这里插入图片描述  开始的时候,打火机没有点火,并且距离火焰传感器比较远。这时候火焰传感器的模拟引脚输出值比较大,是一条近似的直线。然后打火机点火并逐渐接近火焰传感器,这时模拟引脚输出值越来越小,于是曲线到了第一个波谷处。然后打火机逐渐远离火焰传感器,这时模拟引脚输出值逐渐增大。后面曲线的意义是打火机靠近又远离火焰传感器,最后打印机停止点火。
  由曲线可以看出,火焰距离传感器越近,传感器的A0引脚输出值就越小。
  最后设计了简单的电路检验火焰传感器的使用。代码如下:

int led = 2; //定义LED 接口
int flame = A0; //定义火焰传感器接口
void setup()
{
	pinMode(Led, OUTPUT); //定义LED 为输出接口
	pinMode(flame,INPUT);//定义flame为输入接口
}
void loop()
{
	if( analogRead(flame)<200)//200是随意给的值
	{
		digitalWrite(Led, HIGH);
	}
	else
	{
		digitalWrite(Led, LOW);
	}
}

  实物连接图如下:
在这里插入图片描述
  PS:从视频中可以看出,火焰传感器是有方向性的,如果火焰正对着火焰传感器的探测头,则引脚输出正常。如果火焰在传感器的两侧或者上下方向,则火焰传感器的输出不是很准确。


  说明:本文是测试之前买的37款传感器中火焰传感器的文章,当时使用CSDN的博客自动迁移功能从网易博客迁移到CSDN时迁移漏了,这段时间重新拾起Arduino,因为要用到火焰传感器,翻之前的文章时才发现迁移漏了,特此补上本文。
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值