电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

谁动了蓝宝石(视频)

<p>他能偷走蓝宝石吗?不可能,只要他在装有蓝宝石的房间里走动,房间里的红外热释传感器就会看到他,然后就会自动报警,保安马上就到,嘿嘿,下次别冒险!全是高科技,要蓝宝石还是多挣钱吧,或者不要宝石,照样过日子。</p>
<p>红外热释传感器是这样子:</p>
<p><strong>由于热释电效应的人体热释运动传感器,能检测到人体或动物身上发出的红外线,配合菲涅尔透镜能是传感器探测范围更远更广。这个传感器模块已强制设置为可重复触发工作方式,表示可以重复探测,每次探测到人的移动,持续时间可用模块上的电位器调节,看到上图传感器模块的橙黄色的东西了吗?那就是“电位器”。</strong></p>
<p><strong>热释传感器把两个极性相反的热释电敏感元件做在同一晶片上,并且反向串联。</strong></p>
<p><strong>热释传感器用于红外防盗器时,其表面必须罩上一块由一组平行的棱柱型透镜所组成菲涅尔透镜如上图所示。若从热释电元件来看,它前面的每一透镜单元都只有一个不大的视场角,而且相邻的两个单元透镜的视场既不连续,也不重叠,都相隔着一个盲区。当人体在透镜总的监视范围(视野约120度角)中运动时,顺次地进入某一单元透镜的视场,又走出这一视场。热释电元件对运动物体一会儿“看得见”,一会儿又变得“看不见”,再过一会儿又变得“看得见”,如此循环往复。传感器晶片上的两个反向串联热释电元件是轮流“看到”运动物体的,所以人体的红外辐射以光脉冲的型式不断改变两个热释电元件的温度,使它输出一串交变脉冲信号,然后传感器模块会把这个脉冲信号转换为一个开关信号,检测到人体移动,为高电平,否则为低电平。当然,如果人体静止不动地站在热释电元件前面,它是“视而不见”的。</strong></p>
<p><strong>Arduino程序的编程思想是:当探测到人的移动,热释传感器发出高电平,蜂鸣器报警,LED灯闪烁,持续一段时间后,热释传感器会自动恢复低电平,这时蜂鸣器和LED灯都不工作,如果又探测到人的移动,蜂鸣器又报警,LED灯又闪烁。</strong></p>
<p> int ledPin = 9;       // LED 模块接于数字口9<br />
int speak =  11;      //蜂鸣器模块接于数字口3<br />
int sensor = 2;       //红外热释传感器模块接于数字口2<br />
int val = 0;          //暂存传感器信息<br />
boolean speak_state = false;<br />
//蜂鸣器报警子程序<br />
 //由参数t形成不同的频率<br />
void Alarm(int t)<br />
{<br />
  int i,j;<br />
  for(int i=0;i<200;i++)<br />
  {<br />
     speak_state=!speak_state;<br />
     digitalWrite(speak,speak_state);    <br />
     for(j=0;j<t;j++)<br />
     delayMicroseconds(10);            <br />
  }<br />
}<br />
void setup()<br />
{<br />
  pinMode(ledPin, OUTPUT);      // 设置数字接口为输出模式<br />
  digitalWrite(ledPin,HIGH);    //初始化熄灭灯<br />
  pinMode(speak, OUTPUT);      //设置为输出模式<br />
  digitalWrite(speak,HIGH);    //初始化让喇叭不响<br />
  pinMode(sensor, INPUT);       // 设置数字接口为输入模式<br />
}</p>
<p>void loop()<br />
{<br />
  val = digitalRead(sensor);   // 读传感器信息<br />
  if(HIGH == val)//如果检测到人移动</p>
<p>  {//让灯闪烁,让喇叭报警<br />
      digitalWrite(ledPin,LOW);<br />
      Alarm(90); <br />
      Alarm(140);<br />
      digitalWrite(ledPin,HIGH);<br />
      Alarm(90);<br />
      Alarm(140);<br />
  } </p>
<p>//如果没有检测到人移动<br />
  else<br />
  {digitalWrite(ledPin,HIGH);    // 熄灭LED灯<br />
  digitalWrite(speak,HIGH); //喇叭不响<br />
  }<br />
}</p>
<p>实验视频:(手不动,热释传感器检测不到人体运动,手一动,警报30秒,警报持续时间可以用模块上的电位计来调节。)</p>
<p> </p>
<p> </p>

博主
zhang0309
zhang0309's Blog
我工作在湖北宜昌市三峡大学,热衷基于桌面环境的机电模型制作。本博客探讨的内容已涉及到乐高工程积木、Arduino单片机、Labview软件、机器人,欢迎回帖!
点击跳转