加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Arduino 震动传感器的制作与测试

(2011-01-24 17:44:20)
标签:

arduino

互动媒体

震动传感器

大帅机器人工作室

分类: Arduino

淘宝店铺:http://dsrobot.taobao.com 群号: 259189548

 

实验器材:Arduino 168P 基础套件 互动媒体

          1.Arduino 168P 开发板一个

          2.USB下载线一条

          3. SW-18010P 震动传感器一个

          4.LED一个

          5.200欧姆电阻一个

          6.面包板一块

          7.面包板跳线若干条

 

实验目的:学习SW-18010P 震动传感器的工作原理,以及如何使用Arduino 控制SW-18010P 震动传感器。

 

实验电路:实验电路如下图所示

 

 

 http://s5/middle/624e2b45t9a9476fc7154&690震动传感器的制作与测试" TITLE="Arduino 震动传感器的制作与测试" />

实验原理:SW-18010P 震动传感器这是一款基于弹簧摆动原理设计的震动传感器,震动势能传到弹簧末端引起共振,左右摆动碰触到金属外壁形成通路。在静止时任何角度都为开路OFF状态,当受到外力碰撞或者大力晃动时,弹簧变形和中心电极接触导通使两个引脚瞬间导通为ON状态,当外力消失时,电路恢复为开路OFF状态。由于导通时间和弹簧的刚性有关,所以该震动传感器的输出带宽很窄,在使用Arduino读取时,建议使用外部中断功能。

 

http://s2/middle/624e2b45t9a9480550f71&690震动传感器的制作与测试" TITLE="Arduino 震动传感器的制作与测试" />

   

实验步骤

一.     按照以上电路正确搭建实验电路。

二.    将我提供的调试程序下载到Arduino开发板中。

三.    晃动SW-18010P 震动传感器看LED的工作情况。

 

实验程序:

Arduino外部中断代码:

#define SensorLED     13
#define SensorINPUT  

unsigned char state = 0;

void setup()
{
  pinMode(SensorLED, OUTPUT);
  pinMode(SensorINPUT, INPUT);
  attachInterrupt(0, blink, FALLING);//D2口为外部中断0,当有下降沿触发的时候调用blink函数

}
void loop()
{
      if(state!=0)
      {
        state = 0;
        digitalWrite(SensorLED,HIGH);
        delay(500);
     
      else
        digitalWrite(SensorLED,LOW);


void blink()//数字输入传感器下降沿触发中断服务函数
{
  state++;
}

最后结果可观察数字口13脚上的L指示灯,震动后可以看见L灯亮500ms。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有