|
发表于 2012-10-10 20:26:08
|
显示全部楼层
加速度传感器就可以,比如飞思卡尔的MMA8452,这个精度高点,自带Motion and Freefall Detection检测
代码如下:
//初始化MMA8452************************
void Init_MMA8452()
{
unsigned char CTRL_REG1_Data;
Single_Write_MMA8452(0x2A,0x18); //
Single_Write_MMA8452(0x15,0xF8); //
Single_Write_MMA8452(0x17,0x20);
Single_Write_MMA8452(0x18,0x05);
Single_Write_MMA8452(0x2D,0x04);
Single_Write_MMA8452(0x2E,0x04);
CTRL_REG1_Data = Single_Read_MMA8452(0x2A);
CTRL_REG1_Data|= 0x01;
Single_Write_MMA8452(0x2A,CTRL_REG1_Data);
}
上面是移检测模式,这样就能在移动设备的时候产生一个中断,唤醒掉电模式的单片机
当然还有free fall模式等等,g的大小也能设置,精度也很高的,一般用在空中鼠标上,我有一款产品也是用这个检测非法移动
价格0.5美金左右吧~ |
|