tag 标签: 创客传感器

相关博文
  • 热度 5
    2019-8-16 13:03
    421 次阅读|
    1 个评论
    「雕爷学编程」Arduino动手做(9)——火焰传感器模块
    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 【Arduino】66种传感器模块系列 (专业资料+实验代码+图形仿真) 实验之九:火焰(红外线)传感器模块 红外光的基本原理 我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线是波长介于微波和可见光之间的电磁波,波长在760纳米到1毫米之间,是波形比红光长的非可见光。自然界中的一切物体,只要它的温度高于绝对零度(-273)就存在分子和原子的无规则运动,其表面就会不停的辐射红外线。当然了,虽然是都辐射红外线,但是不同的物体辐射的红外强度是不一样的,而我们正是利用了这一点把红外技术应用到我们实际开发中。 火焰(红外线)接收管 红外接收管内部带了一个具有红外光敏感特征的PN节,属于光敏二极管,但是它只对红外光有反应。无红外光时,光敏管不导通,有红外光时,光敏管导通形成光电流,并且在一定范围内电流随着红外光的强度的增强而增大。它广泛用于各种家用电器的遥控接收器中,如音响、彩色电视机、空调器、VCD视盘机、DVD视盘机以及录像机等。能很好地接收红外发光二极管发射的波长为940nm的红外光信号,而对于其他波长的光线则不能接收,因而保证了接收的准确性和灵敏度。 应用电路 模块用途: 各种火焰、火源探测,红外接收 模块电原理图 模块特色: 1、可以检测火焰或者波长在 760 纳米~1100 纳米范围内的光源 2、探测角度 60 度左右,对火焰光谱特别灵敏 3、灵敏度可调(图中蓝色数字电位器调节) 4、对火焰的探测距离:跟灵敏度和火焰强度有关,一般 1m 以内适用(以打火机火焰测试,半米内能够触发传感器) 5、比较器输出,信号干净,波形好,驱动能力强,超过15mA 6、工作电压3.3V-5V 7、输出形式 :a 能够输出数字信号(高低电平),易于使用 b 能够输出模拟信号(电压信号),适合高精度的场合 8、设有固定螺栓孔,方便安装 9、小板PCB尺寸:3.2cm x 1.4cm 10、使用宽电压LM393比较器 模块接线说明(3线制) 1、VCC接电源正极3.3-5V 2、GND接电源负极 3、DO TTL开关信号输出 模块接口说明(4 线制) 1、VCC 接电源正极 3.3-5V 2、GND 接电源负极 3、DO TTL 开关信号输出(0和1) 4、AO 小板模拟信号输出(电压信号) ​ 实验 仿真示意图 使用说明: 1、火焰传感器对火焰最敏感,对普通光也是有反应的,一般用做火焰报警等用途。 2、模块在环境火焰光谱或者光源达不到设定阈值时,DO 口输出高电平,当外界环境火焰光谱或者光源超过设定阈值时,模块 D0 输出低电平; 3、模块数字量输出 D0 可以与Arduino UNO直接相连,通过Arduino来检测高低电平,由此来检测环境的温度改变; 4、小板数字量输出 DO 可以直接驱动继电器模块,由此可以组成一个火焰开关; 5、小板模拟量输出 AO 可以和Arduino UNO的AO端相连,通过 AD 转换,可以获得环境湿度更精准的数值(4线板才带AO端); 6、传感器与火焰要保持一定距离,以免高温损坏传感器,对打火机测试火焰距离为80cm,对火焰越大,测试距离越远 ; 7、模块也可以做为红外接收感应器来使用。 实验说明 接好 VCC 和 GND,模块电源指示灯会亮,将模块放置桌面上,在没有火焰光谱情况下,如板子开关指示灯亮,则调节调节蓝色电位器,直到开关指示灯灭;然后对着火焰传感器最前端约 30cm 左右处打开打火机,会发现板上开关指示灯亮,然后然后熄灭打火机,则开关指示灯会灭。这个现象说明,火焰光谱可以触发模块,从而使开关指示灯点亮。火焰模块模块和数字13 接口自带LED 搭建简单电路,制作火焰提示灯,利用数字13 接口自带的LED,将火焰传感器接入数字3接口,当火焰传感器感测到有按键信号时,LED 亮,反之则灭。 /* 【雕爷学编程】Arduino动手做(9) 【Arduino】66种传感器模块系列实验之九:火焰(红外线)传感器模块 源代码 */ void setup() { pinMode(3,INPUT); pinMode(13,OUTPUT); } void loop() { if (digitalRead(3)) { digitalWrite(13, LOW); } else { digitalWrite(13, HIGH); delay(2000); } } 图为五路火焰传感器模块,模拟数字双重输出,灭火机器人用。
  • 热度 5
    2019-8-15 10:55
    394 次阅读|
    1 个评论
    「雕爷学编程」Arduino动手做(8)——湿度传感器模块
    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 【Arduino】66种传感器模块系列实验之八:湿度传感器模块 湿敏电阻是一种对环境温度敏感的元件,它的电阻值能随着环境的相对温度变化而变化。 湿敏电阻器在电路中的文字符号用字母“R”或“RS”表示,其电路图形符号如下。 模块特色: 1、工作电压 3.3V-5V 2、设有固定螺栓孔,方便安装 3、配电位器调节温度检测阀值 4、使用宽电压 LM393 比较器 5、采用优质 HR202 湿敏传感器 6、小板 PCB 尺寸:3.2cm x 1.4cm 7、比较器输出,信号干净,波形好,驱动能力强,超过 15mA 8、输出形式 :数字开关量输出(0 和 1)或和AO模拟电压输出(4线) 工作原理 表示空气湿度的方法一般有两种,即绝对湿度和相对湿度绝对湿度是指空气中含水置的绝对值,可用空气中水蒸气的分压来表示。相对湿度是指空气中的水蒸气压与同一温度下的饱和蒸气压之比,用百分数表示。一般常用相对湿度来表征空气的干湿程度。湿敏元件是指对相对湿度敏感的元件,它可以是湿敏电阻器,也可以是湿敏电容器或其它元件。但目前研究得较多的是湿敏电阻器。 对湿度以外的各种气氛不灵敏;滞后效应小;小型;制作容易,使用方便,不易损坏,价廉等等。 测量湿度的方法一般用毛发湿度计和千湿球湿度计,由于它们对湿度的变化反应较慢,并还有其它一些缺点,因此湿度自动控制和探空气球等方面不宜使用。而湿敏电阻器具有测量精度较髙并便于使用等优点,所以被广泛应用于各种湿度测量和控制系统中。 湿敏电阻器是一种电阻值随环境相对湿度的变化而改变的敏感元件。它主要由感湿层、电极和具有一定机械强度的绝缘基体组成。感湿层在吸收了环境的水分后,引起两电极间阻值的变化,这样就能直接将相对湿度变换成电阻值。 湿敏电阻器按感湿层所用的材料有很多种,如有氯化裡湿敏电阻器、碳湿敏电阻器、氧化物湿敏电阻器、硫酸钙、獠化物、碘化物、偏磷酸盐等湿敏电阻器和发光湿敏电阻器等。 HR202L小片式湿敏电阻是采用有机高分子材料的一种新型的湿度敏感元件,感湿范围宽,长期使用性能稳定,可以应用于仓储、车厢、居室内空气质量控制、楼宇自控、医疗、工业控制系统及科研领域等广泛的应用。 基本参数 定额电压:1.5V AC (Max,正弦波) 定额功率:0.2mW (Max,正弦波) 工作频率:500Hz~2kHz 使用温度:0~60℃ 使用湿度:95%RH以下(非结露) 湿滞回差:≤2%RH 响应时间:吸湿, ≤20S;脱湿≤40S 稳定性:≤1%RH/年 湿度检测精度:≤±5%RH 相对湿度 条件:at25℃ 1kHz 1V AC (正弦波) 湿度: 60%RH 中心值:31 KΩ 阻抗值范围:19.8~50.2 KΩ 湿度检测精度:±5%RH 模块用途: 湿度检测,湿度传感器,环境湿度检测 模块电原理图 常见的应用电路 模块接线(3 线制) 1 VCC 外接 3.3V-5V 2 GND 外接 GND 3 DO 小板数字量输出接口(0 和 1) 模块接线(4 线制) 1、VCC 接电源正极 3.3-5V 2、GND 接电源负极 3、DO TTL 开关信号输出 4、AO 小板模拟信号输出(电压信号) 模块仿真实验示意图 模块使用: 1、湿敏传感器模块对环境湿度很敏感,一般用来检测周围环境的湿度; 2、通过对电位器的调节,可以改变湿度检测的阀值(即控制湿度值),如需要控制环境湿度为 60%时,模块则在相应环境湿度调到其绿灯亮,DO 则输出低电平,低于此设定湿度值时,输出高电平,绿灯不亮; 3、DO 输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的湿度改变; 4、DO 输出端也能直接驱动继电器模块,由此可以组成一个湿度开关,控制相关设备在合适的环境下工作; 5、小板模拟量输出 AO 可以和Arduino的AO端相连,通过 AD 转换,可以获得环境湿度更精准的数值(4线才带AO端)。 /* 【雕爷学编程】Arduino动手做(8) 【Arduino】66种传感器系列实验之八——湿度传感器模块 源代码 */ void setup() { pinMode(7,INPUT); pinMode(13,OUTPUT); } void loop() { if (digitalRead(7)) { digitalWrite(13, LOW); } else { digitalWrite(13, HIGH); delay(2000); } } 图形编程
  • 热度 3
    2019-8-15 09:26
    357 次阅读|
    1 个评论
    「雕爷学编程」Arduino动手做(7)——旋转电位器模块
    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器与模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 实验之七:旋转电位器模块 电位器实际上就是可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系得输出电压,因此称之为电位器。通常被制造成不管使用多久均能维持原有的特性,若当位置传感器使用,电位计可以是直线或旋转式位置传感器。电位计输出一个电压值,其正比于沿着可变电阻器之滑动器的位置。因为温度变化、磨耗及滑动器与可变电阻器之间的污垢均会造成电阻变化,影响电位计的精度,因此,电位计有太低的准确度。由于材料的发展,特别是在导电性塑料,使得电位计在使用很长时间后仍可以维持原有特性,同时也改进它们的性能。 电位器的主要参数有标称阻值、额定功率、分辨率、滑动噪声、阻值变化特性、耐磨性、零位电阻及温度系数等。 1、电位器的标称阻值和额定功率 2、电位器上标注的阻值叫标称阻值。 3、电位器的额定功率是指在直流或交流电路中,当大气压为87~107kPa,在规定的额定温度下。 实验仿真电路图 /* 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 【雕爷学编程】Arduino动手做(7) 实验之七——旋转电位器模块 实验说明:旋转电位器接入Arduino uno 的模拟端口A0, 模拟量输出0-5V电压,控制3脚的LED灯从0-235,平滑暗至亮转换。 */ void setup() { Serial.begin(9600); pinMode(A0,INPUT); pinMode(3,OUTPUT); } void loop() { analogWrite(3, (map(analogRead(A0), 0, 1023, 0, 235))); Serial.println((map(analogRead(A0), 0, 1023, 0, 235))); delay(200); } 图形编程如图 串口接收到的实验数据 可视化的仿真编程
  • 热度 4
    2019-8-15 09:19
    410 次阅读|
    1 个评论
    【雕爷学编程】Arduino动手做(6)---声音传感器模块
    【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 实验之六:KY-038高感度声音传感器模块 模块的实物照片 声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的振动图象,但不能对噪声的强度进行测量。传感器内置一个对声音敏感的电容式驻极体话筒。声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成0-5V的电压,经过A/D转换被数据采集器接受,并传送给Arduino uno。 模块用途: 声音感应检测 模块有2个输出: 1、AO,模拟量输出,实时输出麦克风的电压信号 2、DO,当声音强度到达某个阀值时,输出高低电平信号【阀值-灵敏度可以通过电位器调节】 模块电原理图 模块特点: 1、使用5v直流电源供电(工作电压3.3V-5V) 2、有模拟量输出AO,实时麦克风电压信号输出 3、有阀值翻转电平输出DO,高/低电平信号输出(0和1) 4、具有高灵敏度,驻极体电容式麦克风(ECM)传感器 5、通过电位计调节灵敏度(图中蓝色数字电位器调节) 6、有电源指示灯,比较器输出有指示灯 7、设有3mm固定螺栓孔,方便安装 8、小板PCB尺寸:3.2cm * 1.7cm 9、可以检测周围环境的声音强度,使用注意:此传感器只能识别声音的有无(根据震动原理)不能识别声音的大小或者特定频率的声音。 模块使用说明: 1.声音模块对环境声音强度最敏感,一般用来检测周围环境的声音强度。 2.模块在环境声音强度达不到设定阈值时,OUT输出高电平,当外界环境声音强度超过设定阈值时,模块OUT输出低电平; 3.小板数字量输出OUT可以与Arduino uno直接相连,通过单片机来检测高低电平,由此来检测环境的声音; 4.小板数字量输出OUT能直接驱动继电器模块,由此可以组成一个声控开关。 数字信号输出 模拟信号输出 /* 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 【雕爷学编程】Arduino动手做(6) 实验之六---KY-038高感度声音传感器模块 */ void setup() { pinMode(3,INPUT); pinMode(12,OUTPUT); } void loop() { if (digitalRead(3)) { digitalWrite(12, LOW); } else { digitalWrite(12, HIGH); delay(2000); } } 实验思路——声音感应器模块DO端,接到Arduino uno数字口3脚,当环境声音强度达不到设定阈值时,DO输出高电平,12脚LED低电平灯灭;当环境声音强度超过设定阈值时,DO输出低电平,12脚LED高电平灯亮。 可视化的图形编程 实验的逻辑流程图 可视化的仿真编程
  • 热度 14
    2019-8-14 20:08
    906 次阅读|
    7 个评论
    【雕爷学编程】Arduino动手做(1)---干簧管传感器模块
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和各种模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做小实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。能把各种开源硬件的传感器与模块,尽量多寻找一下实物,整理相关资料,做做小实验,是我多年来的一个心愿。目前手头已有大几十种了,还在收集中.......。 三个月前,手头上的部分模块(现在已经很多了) 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 实验一:干簧管磁感应传感器模块 数了一下,居然有三个,当然只是简易版本的模块,不过它不会影响实验的效果。 小的时候爱好无线电,那时就接触过干簧管,觉得很神奇很好玩,用一小块磁铁就能控制电灯的亮和灭。 其实干簧管的工作原理并不复杂 干簧管的特点: 干簧管是干式舌簧管的简称,是一种有触点的无源电子开关元件,具有结构简单,体积小便于控制等优点,其外壳一般是一根密封的玻璃管,管中装有两个铁质的弹性簧片电板,还灌有一种叫金属铑的惰性气体。平时,玻璃管中的两个由特殊材料制成的簧片是分开的。当有磁性物质靠近玻璃管时,在磁场磁力线的作用下,管内的两个簧片被磁化而互相吸引接触,簧片就会吸合在一起,使结点所接的电路连通。外磁力消失后,两个簧片由于本身的弹性而分开,线路也就断开了。因此,作为一种利用磁场信号来控制的线路开关器件,干簧管可以作为传感器用,用于计数,限位等等(在安防系统中主要用于门磁、窗磁的制作),同时还被广泛使用于各种通信设备中。在实际运用中,通常用永久磁铁控制这两根金属片的接通与否,所以又被称为“磁控管”。 干簧管的用途: 干簧管在程控交换机、复印机、洗衣机、电冰箱、照相机、消毒碗柜、门磁、窗磁、电磁继电器、电子衡器、液位计、煤气表、水表中等等方面都得到了很好的应用。 适合Arduino实验应该是带LM393比较器的这款,其模块特色: 1、工作电压3.3V-5V 2、采用进口常开型干簧管 3、使用宽电压LM393比较器 4、设有固定螺栓孔,方便安装 5、小板PCB尺寸:3.2cm x 1.4cm 6、输出形式 :数字开关量输出(0和1) 7、比较器输出,信号干净波形好,驱动能力强,超过15mA。 干簧管传感器接到标准LM393小板上,电原理图 模块使用说明: 1.干簧管模块需要和磁铁配合使用,在感应到有一定的磁力的时候,会呈导通状态,模块输出低电平,无磁力时,呈断开状态,输出高电平,干簧管与磁铁的感应距离在1.5cm之内超出不灵敏或会无触发现象; 2.模块DO输出端与Arduino UNO数字口直接相连,可以检测干簧管的触发状态; 3.模块DO输出端如与继电器或者可控硅IN输入端相连,即可组成大功率干簧管开关,直接控制高电压大电流设备。 尝试用仿真软件做了个Arduino实验接线示意图 实验的示意图 实验说明: 干簧管模块和数字13接口的LED 搭建简单电路,制作磁场提示灯。利用数字13接口的LED,将干簧管传感器模块接入数字3接口,当作磁场传感器,检测到有磁场信号时,LED 亮,反之则灭。 实验一:干簧管模块实验源代码: /* 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 实验一:干簧管磁感应传感器模块 */ void setup() { pinMode(3,INPUT); pinMode(13,OUTPUT); } void loop() { if (digitalRead(3)) { digitalWrite(13, LOW); } else { digitalWrite(13, HIGH); } } 可视化图形编程 尝试做的实验逻辑图 可视化的仿真编程,直观易懂的简单办法
广告