Arduino使用水银开关

来源:互联网 发布:淘宝关于dns劫持的教程 编辑:程序博客网 时间:2024/05/01 13:31
本文介绍的是37款传感器套件中的水银开关,这个套件里面开关很多,之前介绍的有震动开关、按键开关,还有倾斜开关、磁簧开关等没有介绍。
首先是实物图如下:
Arduino使用水银开关 - gc_2299 - gc_2299的博客
 这个开关有三个引脚,上面的是gnd引脚,中间的引脚是vcc引脚,下面的S引脚是输出信号引脚,输入的是0和1的信号。为了能够更清楚的看到水银开关的内容情况,我专门拍了两张近处的照片以供参考。应该是右边这个图要清晰一些。中间的圆球就是水银,玻璃管理面有一短一长两个线,玻璃管尖头朝下时,S引脚输出为1,朝上时S脚输出为0。(这里感觉很奇怪,不知道这个开关的电路是怎么设计的,按理说尖头上下时,水银开关是断开的,这时应该输出0才对,结果正好是反过来的)。
Arduino使用水银开关 - gc_2299 - gc_2299的博客Arduino使用水银开关 - gc_2299 - gc_2299的博客
  
然后写了一个简单的程序对水银开关进行测试,代码如下:

int pin = 8;
volatile int state = LOW;
int inputPin=2;

void setup()
{
pinMode(pin, OUTPUT);
pinMode(inputPin,INPUT);
digitalWrite(inputPin,LOW);
attachInterrupt(0, blink, RISING);//当int.0电平改变时,触发中断函数blink
}

void loop()
{
digitalWrite(pin, state);
}

void blink()//中断函数
{
state = !state;
}

最后是代码对应的视频,水银开关的用途可以参考参考文献1:
参考文献
[1]http://baike.baidu.com/link?url=qUtzJ90t1HhrJVKtwZwSAnZbgzPBpA7wnIzDBLeoKG4nUIhrZyjh7Py6PvhiXCDHIb08i3VFhxDdUrw1H9AItc3mmjVEx-lyFl-fDJ9qbjxAZBIe_WcGFATFjGIELQ5_
原创粉丝点击