1回答

1收藏

【赚周年币】技术贴Week 2-Day5---Arduino光控声音实验

#线上活动 #线上活动 2620 人阅读 | 1 人回复 | 2017-01-09

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



红外接收管1个、蜂鸣器、10KΩ电阻1个、面包板、跳线若干、Arduino控制板
实验使用的元器件实物图



实验电路原理图



2硬件电路

火焰报警实验器件表



3程序设计

/****************************************************
  光控声音实验程序
  蜂鸣器随着光线强度变化而发声
  This example code is in the public domain.
****************************************************/
int flame=A0;//定义火焰接口为模拟0 接口
int Beep=8;//定义蜂鸣器接口为数字8 接口
int val=0;//定义数字变量
/****************************************************
            初始化部分_setup()函数
****************************************************/
void setup()
{
  pinMode(Beep,OUTPUT);//定义LED 为输出接口
  pinMode(flame,INPUT);//定义蜂鸣器为输入接口
  Serial.begin(9600);//设定波特率为9600
}  
/****************************************************
            执行部分_loop()函数
****************************************************/

void loop() {
  val=analogRead(flame);//读取火焰传感器的模拟值
  Serial.println(val);//输出模拟值,并将其打印出来
  if(val>=10)//当模拟值大于10 时蜂鸣器鸣响
  {
    digitalWrite(Beep,HIGH);
  }
  else
  {
    digitalWrite(Beep,LOW);
  }
}

4实验操作
1)   按照图4-19-4将电路连接到landzoduino开发板上。首先将红外三极管的负极接到5V端口中,正极连接10KΩ的电阻,电阻的另一端连接GND。在三极管与电阻之间接一根导线接到模拟端口A0上,把蜂鸣器与第八接口相连,另一端接地,这样电路就接好了。区分蜂鸣器的正负极,数字端口要接对。
2)   插上编程线,把程序下载到Landzoduino控制板。
3)   观察运行情况。

5实验结果
当有火焰靠近时,模拟口读出的电压就是变化的,所以在实验开始时可以先储存一个没有火焰时的模拟口的电压值。把模拟信号转化为高低变化的电平信号,引起蜂鸣器发声。
总结上面的实验,这个实验其实就是光控声音的一个拓展,共同点都是把光信号转化为高低变化的电平信号输出去。在这之中,也遇到过两点问题,一点就是将传感器接A0端口的接到A1上去,导致线路图与程序不想符,写入程序出现错误;另一点就是蜂鸣器的正负极没有区分,实验没反应。

评分

参与人数 1 +45 收起 理由
EEboard爱板网 + 45 3周发帖养成记 奖励

查看全部评分

分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

jinglixixi

发表于 2017-1-10 15:47:21 | 只看该作者

上面的图是用哪种软件,能提供个下载地址?
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条