37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。 【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真) 实验五十四: 大按键点动轻触开关模块(高电平输出) 轻触开关 又叫按键开关,最早出现在日本(称之为:敏感型开关)使用时以满足操作力的条件向开关操作方向施压开关功能闭合接通,当撤销压力时开关即断开,其内部结构是靠金属弹片受力变化来实现通断的。轻触开关由:嵌件、基座、弹片、按钮、盖板组成,其中防水类轻触开关在弹片上加一层聚酰亚胺薄膜。轻触开关有接触电阻荷小、精确的操作力误差、规格多样化等方面的优势,在电子设备及白色家电等方面得到广泛的应用如:影音产品、数码产品、遥控器、通讯产品、家用电器、安防产品、玩具、电脑产品、健身器材、医疗器材、验钞笔、雷射笔按键等等。因为轻触开关对环境的条件(施压力小于2倍的弹力/环境温湿度条件以及电气性能)大型设备及高负荷的按钮都使用导电橡胶或锅仔开关五金弹片直接来代替,比如医疗器材、电视机遥控器等。 2*12*7.5系列 是一款仿欧姆龙开关的可配按键帽轻触开关产品,它由四个定位柱和四个引脚组成,其开关规格尺寸为12*12mm,一般市面上又广泛被称为12x12防水轻触开关。该开关常规的盖帽颜色区分有黑色和黄色两种;按键力度区分有250gf、180gf、160gf等3个标准力度。 模块技术参数 回复力:50gf min 接触电阻:≤50mΩ 行程:0.25±0.1mm 额定值:DC 12V 50mA 绝缘电阻:≥100 MΩ 使用范围温度:-20℃~70℃ 保存温度范围:-30℃~80℃ 驱动力:250±30gf、180±30gf、160±30gf 机械寿命:50000次 使用轻触开关时的注意事项 1、给轻触开关端子进行焊接时,如果在端子上施加负荷,因条件不同会有松动,变形及电特性劣化的可能,请在使用时注意。 2、使用通孔印刷电路板及推荐以外的电路板时, 由于热应力的影响会发生变化,所以请事先就焊接条件进行充分的确认。 3、进行两次焊接时,请在第一次焊接部分恢复到常温之后再进行。连续加热可能使外围部变形,端子的松动,脱落及电特性降低。 4、关于焊接的条件设定,需要确认实际批量生产条件。 5、产品以直流的电阻负载为前提设计制造的。使用其它负荷 时,请另行确认。 6、印刷电路板安装孔及模式,请参照产品图中记载的推荐尺寸。 7、开关请用于直接由人操作按开关的结构。请不要用于机械性的检测功能。 8、轻触开关操作时,如果施加规定以上的负荷,开关将有被损坏的可能。请注意不要在开关上施加规定以上的力。 9、请避免从侧面按操作部的用法。 10、对于平轴杆型,尽量按下开关中心部。对于铰链结构,按下时轴杆按动位置将移动,请特别注意。 11、开关安装后,因其他零部件的粘结剂硬化等通过蓄热硬化炉时,请与专业人士联系。 12、如果使用开关的整机的周围材料产生腐蚀性气体,将有可能造成接触不良等现象,所以请事先进行充分的确认。 13、碳接触点具有因推压负荷接触电阻发生变化的特性。用于电压分压回路等时,请在充分确认之后使用。 14、关于密闭型以外的型号,对异物的侵入,请充分注意。 大按键点动轻触开关模块 尺寸:11*22mm 颜色:红色键帽 电压:3.5、5V 输出:数字电平(按下高电平,释放低电平) 接口:Arduino 3P接口 S V G 平台:Arduino、单片机、ARM、树莓派 /* 【Arduino】168种传感器模块系列实验(54) 实验五十四: 大按键点动轻触开关模块(高电平输出) 按键开关接D2 LED 接D13 实验一,串口简单计数器(按键中断) 在循环中,我们不断检测按键是否为高电位 如果为高电位,则计数加1; 反之,不做动作(继续自动计数) */ #define anjian 2 //定义按键脚 int count=0; //定义初始count值 void setup() { Serial.begin(9600); //设置波特率 pinMode(anjian,INPUT); //设置按键脚为输入模式 } void loop() { if(digitalRead(anjian)==HIGH) // 当检测到按键按下时 { delay(2); count=count+1; //计数加1 } Serial.println(count); //打印出count值 delay(500); //延时一段时间再次检测 } /* 【Arduino】168种传感器模块系列实验(54) 实验五十四: 大按键点动轻触开关模块(高电平输出) 按键开关接D2 LED 接D13 实验二,按键控制LED亮暗 */ const int buttonPin = 2; const int ledPin = 13; int buttonState = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); } void loop() { buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { digitalWrite(ledPin, LOW); } else { digitalWrite(ledPin, HIGH); } } /* 【Arduino】168种传感器模块系列实验(54) 实验五十四: 大按键点动轻触开关模块(高电平输出) 按键开关接D2 LED 接D13 实验三,按键自锁控制LED亮暗 */ int ButtonState; int ButtonLastState; int ButtonCounter; void setup() { pinMode(13,OUTPUT); pinMode(2,INPUT_PULLUP); Serial.begin(9600); } void loop() { ButtonState = digitalRead(2); if(ButtonState != ButtonLastState) { if(ButtonState) { Serial.println("off"); ButtonCounter++; } else { Serial.println("on"); } delay(100); } ButtonLastState = ButtonState; if(ButtonCounter%2) { digitalWrite(13,0); } else { digitalWrite(13,1); } }