一、项目说明

        我们可以使用振动传感器,通过滚珠开关做个简单的震动传感器,并把震动传感器和LED相结合。当传感器检测到物体震动时,让LED亮起,当停止震动时,LED关闭。

二、所需元件 

  • 1 × Arduino UNO R3(以及配套USB数据线)
  • 1 × 面包板
  • 4 × 彩色面包线
  • 1 × 5mm LED灯
  • 1 × 220欧电阻
  • 1×  滚珠开关 SW200D

三、硬件连接

四、软件代码

//项目八:制作震动传感器
int SensorLED = 10;       //定义LED为数字引脚10
int SensorINPUT = 3;      //连接震动开关到中断1,也就是数字引脚3 
unsigned char state = 0;
 
void setup() { 
  pinMode(SensorLED, OUTPUT);         //LED为输出模式
  pinMode(SensorINPUT, INPUT);        //震动开关为输入模式
 
  //低电平变高电平的过程中,触发中断1,调用blink函数
  attachInterrupt(1, blink, RISING);   
 }
 
void loop(){
      if(state!=0){              // 如果state不是0时
        state = 0;               // state值赋为0
        digitalWrite(SensorLED,HIGH);   // 亮灯
        delay(500);          //延时500ms
      }  
      else 
        digitalWrite(SensorLED,LOW);     // 否则,关灯
} 
 
void blink(){                //中断函数blink()
state++;             //一旦中断触发,state就不断自加
}

五、运行结果