801s振动传感器
引脚定义如下图:
传感器特点:
1、具有信号输出指示灯;
2、双路信号输出,TTL 检测电平输出和模拟信号输出;
3、TTL 电平信号输出有效信号为高电平,可接单片机 IO 口;
4、灵敏度可调;
5、振动检测输出;
6、电路板输出 Dout 标识为开关量,可直接接单片机 IO 口,
当有振动时则指示灯灭,输出为高电平,无振动状态输出为
低电平,指示灯亮;电路板标识为 Aout 为模拟输出,可以直
接 AD 输入口,输出低电压范围为 0-5V;
7、可用于振动检测场合。
程序一
实验目的:只要有振动就点亮小灯泡
int LED =13;
int SensorINPUT =3 ; //引脚3与传感器DO口连
int state = 0;
void setup()
{
pinMode(LED, OUTPUT);
pinMode(SensorINPUT, INPUT);
attachInterrupt(1, blink, CHANGE);// 1:数字引脚3,blink:中断程序,CHANGE:引脚3电平变化触发中断
void loop()
{
if(state!=0)
{
state = 0;
digitalWrite(LED,HIGH);
delay(100);
}
else
digitalWrite(LED,LOW);
}
void blink() //中断程序
{
state++;
}
程序二
实验目的:读取振动频率
int sensorPin = A0;//引脚A0与振动传感器AO口连
int sensorValue = 0;
void setup() {
Serial.begin(115200);
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
}
程序三
每碰一次传感器产生的振动数,接DO口
int sensorPin = 3;
int sensorValue = 0;
unsigned char state=0;
long a=0;
void setup() {
pinMode(sensorPin, INPUT);
attachInterrupt(1,blink,FALLING);
Serial.begin(115200);
}
void loop() {
if(state!=0)
{
state=0;
a++;
}
}
void blink()//Interrupts function
{
state++;
Serial.println(a);
}