在各种以高科技偷盗为主题的电影中,我们常可以看到激光防盗系统,一根根红色的激光线构成了三维立体防盗体系。今天我们就借助红外激光头和光敏电阻做一个这样的防盗模型,当红外线被阻断后,开发板板上的蜂鸣器就会报警。
需要的元器件如下:
原理图如下:
激光头需要串联一个3欧左右的电阻,光敏电阻随着光线的变化其阻值就会发生变化,我们通过AD接口进行阻值读取。
程序非常简单,主要的代码如下:
public static void Main()
{
int value = 0;
ADC.Start(0); //ADC0
OutputPort Alarm = new OutputPort((Cpu.Pin)GPIO_NAMES.PB2,false); //蜂鸣器
Graphics.Clear(Color.Black);
while (true)
{
//PC0 ADC0_IN10
ADC.Read(10, out value, 2, 0);
Graphics.FillRectangle(20, 20, 100, 20, Color.Black);
Graphics.DrawString(20,20,value.ToString(), Color.White);
Debug.Print(value.ToString());
//3700是个经验值,可以根据实际进行设定
Alarm.Write(value > 3700);
Thread.Sleep(1000);
}
//ADC.Stop(0);
}
程序不断的读取光敏电阻的阻值,当阻值高到一定值(激光被阻隔),则报警。我们用面包板来搭建这样一个模型系统,最终的效果图如下:
相关视频如下: http://you.video.sina.com.cn/b/44109256-1804832611.html
(1)、.NET Micro Framework开发板
http://item.taobao.com/item.htm?id=7117999726
(2)、激光模型元器件
http://item.taobao.com/item.htm?id=8836507324
本文源码:http://www.sky-walker.com.cn/yefan/MFV40/SourceCode/LaserTest.rar
MF快速参考: .NET Micro Framework 快速入门