人体运动传感器|手机自动模拟走路
人体运动传感器
人体运动传感器只是一个基于“红外释电原理”的人体检测传感器,它无法检测人的运动速度和方向,只能检测运动中的人体。如果人体在它面前停着不运动的话,它是感应不出来的。下面是关于人体运动感应器的一些图片及相关说明。
这是拿掉透明镜以后的人体运动传感器。
上面是两个一大一小的白色套镜,根据我们测试范围的大小,可以选择不同的白色套镜,我们在做实验的时候要尽量注意这一点,假如你是要测试2米左右的范围,那么你选择的时候尽量选择测量范围在2米左右的,如果选择测量范围太大,将会干扰到你的实验。所以,建议根据需要,选择合适的白色套镜,常用的有3米或者7米范围的。
我们用的这款人体运动传感器在平时的时候,引脚输出的是低电平,当人体运动到它的检测范围时,它的信号端会输出一个高电平,此时,我们要让电平输出的时间是多少呢?很简单,你只要对图中的黄色按键进行调节,就可以调节出输出高电平的时间了。调节时间可大概可以从500ms 到16秒。
下面是一个关于应用的程序,此程序配合了LCD1602,LED 模块,进行使用。 程序如下:
/*******************************************************************************
IR sport Switch;
Author :Michael
Company : HK.getech co.,LTD
create: June 23th,2011
********************************************************************************/
#include
LCD4Bit_mod lcd = LCD4Bit_mod(2);
int IRSwitchs = 15;
int ledPin = 16;
int value = 0;
int i;
char tabOF[]={"LED is turn off"};
char tabON[]={"LED is turn on "};
void setup()
{
lcd.init();
lcd.clear();
lcd.printIn("geteeech");
pinMode (IRSwitchs,INPUT);
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
}
void loop()
{
value = digitalRead(IRSwitchs);
if(value == LOW)
{
digitalWrite(ledPin,LOW);
lcd.cursorTo(2,0);
for(i=0;i
lcd.print(tabOF[i]);
delay(2000);
}
if(value == HIGH)
{
digitalWrite(ledPin,HIGH);
lcd.cursorTo(2,0);
for(i=0;i
lcd.print(tabON[i]);
delay(2000);
digitalWrite(ledPin,LOW);
}
}
接线实物图原理图(注:因为本实验所用电池电压较低,再则,相机相素各方面的原因,在照片出来以后,看上去LED 的亮度看得不是很明显,但是在实际物体前可以清楚看到灯的亮和灭的,建议在做实验时用USB 供电或者新的蓄电池,这样效果就会很明显了):
接线原理图: