原创 「雕爷学编程」Arduino动手做(20)—水银开关模块

2019-8-29 07:48 3965 21 3 分类: 智能硬件 文集: 雕爷学编程

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 


【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

实验二十:水银开关传感器模块(KY-017)


水银

汞是化学元素,元素周期表第80位。俗称水银。元素符号Hg,在化学元素周期表中位于第6周期、第IIB族,是常温常压下唯一以液态存在的金属(从严格的意义上说,镓(符号Ga,31号元素)和铯(符号Cs,55号元素)在室温下(29.76℃和28.44℃)也呈液态)。汞是银白色闪亮的重质液体,化学性质稳定,不溶于酸也不溶于碱。汞常温下即可蒸发,汞蒸气和汞的化合物多有剧毒(慢性)。水银具有良好的导电性和流动性。汞使用的历史很悠久,用途很广泛。 在中世纪炼金术中与硫磺、盐共称炼金术神圣三元素。

水银开关
又称倾侧开关,是电路开关的一种,一般是一个小玻璃泡容器中储存着一小滴水银,容器中多数注入惰性气体或真空。因为重力的关系,水银珠会向容器中较低的地方流去,因为水银是一种导电的液体,如果它同时接触到两个电极,电路便会接通,否则电路断开。因为水银开关的通断与物体的水平角度有关,因此它常被应用在一些自动控制电路当中。


我有五个这开关

工作原理
水银开关的构造很简单。外面是一个密封的圆柱形绝缘壳体,长约30 毫米, 直径约10 毫米。里面装有约五分之一的水银。在壳体的一端固定着从里面引出的两根导线。这就是一个水银开关。因为重力的关系,水银水珠会向容器中较低的地方流去,如果同时接触到两个电极的话,开关便会将电路闭合,开启开关,从而触发后续电路工作。

主要特色
水银是液态,接触面积接触大且稳定,一般来说导通效果更稳定。其电阻在0.02欧以下, 在额定电流下寿命可达几百万次,可用来分合交直流大电流,体积小,灵敏度高,无机械噪音,价格低廉,所以一向是作为自动控制用开关。适用于有尘埃、油、水蒸汽等和有腐蚀性气体的特殊场所,也可以在有爆炸性气体的场所中充当防爆开关使用。玻璃管封装的水银开关的优点是可以从外部观察到它的工作状态,缺点就是容易破碎。


●由密封玻璃管、电极和水银组成;
●通过水银的流动特性来实现电路的通断,自由角度,灵活控制;
●高温烧制,可以做成任何形状;
●广泛应用于水位液位控制、报警装置、检测装置、通讯设备、仪器仪表等领域作信号传递及控制用。

注意事项:
水银对人体及环境均有毒害,故使用水银开关时,请务必小心谨慎,以免破出;在不再使用时,也应该妥善处理。防止水银开关从高处跌落,避免其与硬物接触,或被挤压,导致玻璃泡破裂。

水银开关模块内部结构图

水银开关应用电路

特别警告:
水银有毒,一旦玻璃泡破裂,请迅速将流出的水银移至室外,切勿与皮肤接触。因为水银开关里面的水银量很少,甚至比普通水银体温计里面的还少,因此在正确使用的情况下,不必担心安全问题。

模块特色:
1、采用高灵敏度水银开关
2、比较器输出,信号干净,波形好,驱动能力强,超过15mA
3、工作电压3.3V-5V
4、输出形式 :数字开关量输出(0和1)
5、设有固定螺栓孔,方便安装
6、小板PCB尺寸:3.2cm x 1.4cm
7、使用宽电压LM393比较器

模块接线:
1.VCC:接电源正
2.GND:接电源负
3.DO:数字量信号输出

模块使用说明:
1、产品不倾斜时,震动开关呈导通状态,输出端输出低电平,绿色指示灯亮;
2、产品倾斜时,震动开关断开状态,输出端输出高电平,绿色指示灯亮;
3、输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境是否有倾斜,起到角度倾斜报警作用!

实验示意场景图

  1. /*
  2. 【Arduino】108种传感器模块系列实验(20)
  3. 实验二十:水银开关传感器模块(KY-017)
  4. 源代码
  5. */
  6. void setup()
  7. {
  8. pinMode(3,INPUT);
  9. pinMode(13,OUTPUT);
  10. }
  11. void loop() {
  12. if (digitalRead(3)) {
  13. digitalWrite(13,HIGH);
  14. delay(1000);
  15. }
  16. else {
  17. digitalWrite(13,LOW);
  18. }
  19. }

  1. /*
  2. 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验二十:水银开关传感器模块(KY-017)
  4. */
  5. // constants won't change. They're used here to
  6. // set pin numbers:
  7. const int buttonPin = 2; // the number of the pushbutton pin
  8. const int ledPin = 13; // the number of the LED pin
  9. // variables will change:
  10. int buttonState = 0; // variable for reading the pushbutton status
  11. void setup() {
  12. // initialize the LED pin as an output:
  13. pinMode(ledPin, OUTPUT);
  14. // initialize the pushbutton pin as an input:
  15. pinMode(buttonPin, INPUT);
  16. }
  17. void loop(){
  18. // read the state of the pushbutton value:
  19. buttonState = digitalRead(buttonPin);
  20. // check if the pushbutton is pressed.
  21. // if it is, the buttonState is HIGH:
  22. if (buttonState == HIGH) {
  23. // turn LED on:
  24. digitalWrite(ledPin, HIGH);
  25. }
  26. else {
  27. // turn LED off:
  28. digitalWrite(ledPin, LOW);
  29. }
  30. }

作者: 雕爷学编程, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3894459.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
21
关闭 站长推荐上一条 /2 下一条