arduino与801s振动传感器读取振动频率

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);
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值