原创
「雕爷学编程」Arduino动手做(20)—水银开关模块
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、输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境是否有倾斜,起到角度倾斜报警作用! 实验示意场景图
- /*
- 【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);
- }
- }
- /*
- 【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 pin
- const 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条评论)
登录后参与讨论