原创
「雕爷学编程」Arduino动手做(20)—水银开关模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验二十:水银开关传感器模块(KY-017)
水银
汞是化学元素,元素周期表第80位。俗称水银。元素符号Hg,在化学元素周期表中位于第6周期、第IIB族,是常温常压下唯一以液态存在的金属(从严格的意义上说,镓(符号Ga,31号元素)和铯(符号Cs,55号元素)在室温下(29.76℃和28.44℃)也呈液态)。汞是银白色闪亮的重质液体,化学性质稳定,不溶于酸也不溶于碱。汞常温下即可蒸发,汞蒸气和汞的化合物多有剧毒(慢性)。水银具有良好的导电性和流动性。汞使用的历史很悠久,用途很广泛。 在中世纪炼金术中与硫磺、盐共称炼金术神圣三元素。
![](https://static.assets-stash.eet-china.com/album/201908/29/064206y87rqxe6eyxe7782.jpg)
水银开关
又称倾侧开关,是电路开关的一种,一般是一个小玻璃泡容器中储存着一小滴水银,容器中多数注入惰性气体或真空。因为重力的关系,水银珠会向容器中较低的地方流去,因为水银是一种导电的液体,如果它同时接触到两个电极,电路便会接通,否则电路断开。因为水银开关的通断与物体的水平角度有关,因此它常被应用在一些自动控制电路当中。
我有五个这开关
![](https://static.assets-stash.eet-china.com/album/201908/29/064448krvbx4rfr34vr56z.jpg)
工作原理
水银开关的构造很简单。外面是一个密封的圆柱形绝缘壳体,长约30 毫米, 直径约10 毫米。里面装有约五分之一的水银。在壳体的一端固定着从里面引出的两根导线。这就是一个水银开关。因为重力的关系,水银水珠会向容器中较低的地方流去,如果同时接触到两个电极的话,开关便会将电路闭合,开启开关,从而触发后续电路工作。
![](https://static.assets-stash.eet-china.com/album/201908/29/065509ctt99mtpszmsg7ji.jpg)
主要特色
水银是液态,接触面积接触大且稳定,一般来说导通效果更稳定。其电阻在0.02欧以下, 在额定电流下寿命可达几百万次,可用来分合交直流大电流,体积小,灵敏度高,无机械噪音,价格低廉,所以一向是作为自动控制用开关。适用于有尘埃、油、水蒸汽等和有腐蚀性气体的特殊场所,也可以在有爆炸性气体的场所中充当防爆开关使用。玻璃管封装的水银开关的优点是可以从外部观察到它的工作状态,缺点就是容易破碎。
![](https://static.assets-stash.eet-china.com/album/201908/29/065940melv11lhjhlqqxmd.jpg)
●由密封玻璃管、电极和水银组成; ●通过水银的流动特性来实现电路的通断,自由角度,灵活控制; ●高温烧制,可以做成任何形状; ●广泛应用于水位液位控制、报警装置、检测装置、通讯设备、仪器仪表等领域作信号传递及控制用。
![](https://static.assets-stash.eet-china.com/album/201908/29/070433wgnkq642nq9zn9on.jpg)
注意事项: 水银对人体及环境均有毒害,故使用水银开关时,请务必小心谨慎,以免破出;在不再使用时,也应该妥善处理。防止水银开关从高处跌落,避免其与硬物接触,或被挤压,导致玻璃泡破裂。 ![](https://static.assets-stash.eet-china.com/album/201908/29/071522q7crfsldd97pr7g9.jpg)
水银开关模块内部结构图 ![](https://static.assets-stash.eet-china.com/album/201908/29/071800rt9y18v39ftv88k7.jpg)
![](https://static.assets-stash.eet-china.com/album/201908/29/071801ndtwdd2znuwqzdiw.jpg)
![](https://static.assets-stash.eet-china.com/album/201908/29/071801rv8drnv5ukxuronn.jpg)
水银开关应用电路
![](https://static.assets-stash.eet-china.com/album/201908/29/072125xx9pu9gwzuoppe8u.jpg)
![](https://static.assets-stash.eet-china.com/album/201908/29/072125gih5hh9i0e1b60lr.jpg)
![](https://static.assets-stash.eet-china.com/album/201908/29/072126asvfzste8k2n1t8t.jpg)
特别警告: 水银有毒,一旦玻璃泡破裂,请迅速将流出的水银移至室外,切勿与皮肤接触。因为水银开关里面的水银量很少,甚至比普通水银体温计里面的还少,因此在正确使用的情况下,不必担心安全问题。 ![](https://static.assets-stash.eet-china.com/album/201908/29/072555v7kfk7mf1gxfzffo.jpg)
模块特色: 1、采用高灵敏度水银开关 2、比较器输出,信号干净,波形好,驱动能力强,超过15mA 3、工作电压3.3V-5V 4、输出形式 :数字开关量输出(0和1) 5、设有固定螺栓孔,方便安装 6、小板PCB尺寸:3.2cm x 1.4cm 7、使用宽电压LM393比较器 ![](https://static.assets-stash.eet-china.com/album/201908/29/072926k2otebccbrhyzybb.jpg)
![](https://static.assets-stash.eet-china.com/album/201908/29/072927gu31dxu633b9z6bd.jpg)
模块接线: 1.VCC:接电源正 2.GND:接电源负 3.DO:数字量信号输出 ![](https://static.assets-stash.eet-china.com/album/201908/29/073204us8vbr102xkrsrro.jpg)
![](https://static.assets-stash.eet-china.com/album/201908/29/073204jegg20a8z9jfk22k.jpg)
模块使用说明: 1、产品不倾斜时,震动开关呈导通状态,输出端输出低电平,绿色指示灯亮; 2、产品倾斜时,震动开关断开状态,输出端输出高电平,绿色指示灯亮; 3、输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境是否有倾斜,起到角度倾斜报警作用! ![](https://static.assets-stash.eet-china.com/album/201908/29/073437vhplhbk08sall7ur.jpg)
实验示意场景图
![](https://static.assets-stash.eet-china.com/album/201908/29/073733wm7gdq3g9323d2g3.jpg)
/* 【Arduino】108种传感器模块系列实验(20) 实验二十:水银开关传感器模块(KY-017) 源代码*/ void setup(){ pinMode(3,INPUT); pinMode(13,OUTPUT); } void loop() { if (digitalRead(3)) { digitalWrite(13,HIGH); delay(1000); } else { digitalWrite(13,LOW); }}复制代码![](https://static.assets-stash.eet-china.com/album/201908/29/074117j8jlf3agltlznnzr.jpg)
/* 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)实验二十:水银开关传感器模块(KY-017)*/ // constants won't change. They're used here to // set pin numbers:const int buttonPin = 2; // the number of the pushbutton pinconst int ledPin = 13; // the number of the LED pin // variables will change:int buttonState = 0; // variable for reading the pushbutton status void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); } void loop(){ // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on: digitalWrite(ledPin, HIGH); } else { // turn LED off: digitalWrite(ledPin, LOW); }}复制代码 |
|
作者: 雕爷学编程, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3894459.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论