找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: eagler8
打印 上一主题 下一主题
收起左侧

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

  [复制链接]
561#
ID:513258 发表于 2019-6-24 15:47 | 只看该作者



回复

使用道具 举报

562#
ID:513258 发表于 2019-6-24 16:11 | 只看该作者

回复

使用道具 举报

563#
ID:513258 发表于 2019-6-24 16:12 | 只看该作者

回复

使用道具 举报

564#
ID:513258 发表于 2019-6-24 16:23 | 只看该作者
主要特点
●     智能反接保护,电源反接不会损坏IC。
●     IC控制电路与LED点光源公用一个电源。
●     控制电路与RGB芯片集成在一个5050封装的元器件中,构成一个完整的外控像素点。
●     内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加。
●     内置上电复位和掉电复位电路。
●     每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s。
●     串行级联接口,能通过一根信号线完成数据的接收与解码。
●     任意两点传传输距离在不超过5米时无需增加任何电路。
●     当刷新速率30帧/秒时,级联数不小于1024点。
●      数据发送速度可达800Kbps。
●      光的颜色高度一致,性价比高。




回复

使用道具 举报

565#
ID:513258 发表于 2019-6-24 16:28 | 只看该作者
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。

LED具有低电压驱动,环保节能,亮度高,散射角度大,一致性好,超低功率,超长寿命等优点。将控制电路集成于LED上面,电路变得更加简单,体积小,安装更加简便。



回复

使用道具 举报

566#
ID:513258 发表于 2019-6-24 16:45 | 只看该作者
应用领域
●     LED全彩发光字灯串,LED全彩模组, LED全彩软灯条硬灯条,LED护栏管
●   LED点光源,LED像素屏,LED异形屏,各种电子产品,电器设备跑马灯等




回复

使用道具 举报

567#
ID:513258 发表于 2019-6-24 16:58 | 只看该作者
只需要一个数字口就可以无限级联的全彩RGB LED(我这里是四位的模块)




回复

使用道具 举报

568#
ID:513258 发表于 2019-6-24 17:20 | 只看该作者
四位模块电原理图



回复

使用道具 举报

569#
ID:513258 发表于 2019-6-24 17:23 | 只看该作者
模块引脚
VCC---这个引脚需要由一个5V-7V的直流电源接入。电压过高(7V)的话会烧毁LED,电压太低(5V)的话则会造成亮度过低,甚至造成LED不工作。

GND---公共引脚,接地,即接电源的负极。

IN---微控制器(或者是另外一个WS2812)的数据从这个引脚传入LED。

OUT---数据从这里输出给下一级的WS2812,如果这个WS2812是最后一级,则可直接悬空此引脚。




回复

使用道具 举报

570#
ID:513258 发表于 2019-6-24 18:12 | 只看该作者
下载WS2812驱动库Adafruit_NeoPixel,有二链接;
https://github.com/adafruit/Adafruit_NeoPixel
www点tuicool点com/articles/IbaAJbE
好像需要三个库,以适应不同情况下的使用
Adafruit_GFX
Adafruit_NeoPixel
Adafruit_NeoMatrix

解压缩每个库,从文件夹名称中删除“-master”并将它们移动到Arduino库文件夹libraries里面。重新启动Arduino IDE以加载库。





回复

使用道具 举报

571#
ID:513258 发表于 2019-6-24 19:00 | 只看该作者

回复

使用道具 举报

572#
ID:513258 发表于 2019-6-24 19:03 | 只看该作者
第一个实验:一只LED的呼吸灯

  1. /*
  2. 【Arduino】37种传感器模块系列实验(36)
  3. 实验三十六:WS2812B智能外控集成LED四位彩灯模块(内置驱动IC)之一
  4. */

  5. #include <Adafruit_NeoPixel.h>
  6. #define PIN 6
  7. #define MAX_LED 1
  8. #define ADD true
  9. #define SUB false

  10. int val = 0;
  11. boolean stat = ADD;

  12. Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );

  13. void setup(){
  14.   strip.begin();
  15.   strip.show();
  16. }

  17. void loop(){
  18.   uint32_t color = strip.Color(val, val, val);
  19.   strip.setPixelColor(0, color);
  20.   
  21.   if(val>=235)
  22.     stat = SUB;
  23.   if(val<=0)
  24.     stat = ADD;
  25.   
  26.   strip.show();
  27.   delay(15);
  28.   if(stat==SUB) val --;
  29.   else if(stat==ADD) val++;
  30. }
复制代码



回复

使用道具 举报

573#
ID:513258 发表于 2019-6-24 19:21 | 只看该作者
第二个实验:四只LED轮流全彩快闪

  1. /*
  2. 【Arduino】37种传感器模块系列实验(36)
  3. 实验三十六:WS2812B智能外控集成LED四位彩灯模块(内置驱动IC)之二
  4. */

  5. #include <Adafruit_NeoPixel.h>

  6. #define PIN 6
  7. #define MAX_LED 4

  8. #define ADD true
  9. #define SUB false

  10. int val = 0;
  11. boolean stat = ADD;

  12. Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );

  13. void setup()
  14. {
  15.   strip.begin();           
  16.   strip.show();           
  17. }

  18. void loop()
  19. {
  20.   uint8_t i,a=0;                                       
  21.   uint32_t color = strip.Color(0, 100, 255);        
  22.   while(a<10)
  23.   {
  24.       for(i=0;i<9;i++)
  25.       {
  26.         if(i==a) strip.setPixelColor(i, color);     
  27.         else strip.setPixelColor(i, 0);            
  28.       }
  29.        strip.show();                                
  30.        delay(30);                                   
  31.        a++;                                         
  32.   }
  33. }
复制代码



回复

使用道具 举报

574#
ID:513258 发表于 2019-6-24 19:39 | 只看该作者
第三个实验:循序点亮四只绿色光LED

  1. /*
  2. 【Arduino】37种传感器模块系列实验(36)
  3. 实验三十六:WS2812B智能外控集成LED四位彩灯模块(内置驱动IC)之三
  4. */

  5. #include <Adafruit_NeoPixel.h>
  6. #ifdef __AVR__
  7. #include <avr/power.h>
  8. #endif

  9. #define PIN            6
  10. #define NUMPIXELS      4

  11. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

  12. int delayval = 500;

  13. void setup() {

  14. #if defined (__AVR_ATtiny85__)
  15.   if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  16. #endif

  17.   pixels.begin();
  18. }

  19. void loop() {

  20.   for(int i=0;i<NUMPIXELS;i++){

  21.     pixels.setPixelColor(i, pixels.Color(0,150,0));

  22.     pixels.show();

  23.     delay(delayval);

  24.   }
  25. }
复制代码



回复

使用道具 举报

575#
ID:513258 发表于 2019-6-24 19:56 | 只看该作者

回复

使用道具 举报

576#
ID:513258 发表于 2019-6-24 20:57 | 只看该作者
本帖最后由 eagler8 于 2019-6-25 10:34 编辑

实验三十七:MQ-3酒精乙醇传感器模块(半导体式表面电阻控制型)

MQ-3气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空气中酒精气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 MQ-3气体传感器对酒精的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的特种传感器。




回复

使用道具 举报

577#
ID:513258 发表于 2019-6-25 08:37 | 只看该作者

回复

使用道具 举报

578#
ID:513258 发表于 2019-6-25 08:37 | 只看该作者

回复

使用道具 举报

579#
ID:513258 发表于 2019-6-25 09:58 | 只看该作者

回复

使用道具 举报

580#
ID:513258 发表于 2019-6-25 10:01 | 只看该作者

回复

使用道具 举报

581#
ID:513258 发表于 2019-6-25 10:35 | 只看该作者
工作原理
MQ-3属于表面电阻控制型酒精气体浓度气敏传感器,其敏感材料是活性很高的金属氧化物半导体,最常用的如SnO2(二氧化锡)。当N型半导体的表面,在高温下遇到离解能力较小(易失去电子)的还原性气体时,气体分子中的电子将向MQ3气敏电阻表面转移,使气敏电阻中的自由电子浓度增加,电阻率降低,电阻减小。半导体式传感器是利用一些金属氧化物半导体材料,在一定温度下,电导率随着环境气体成份的变化而变化的原理制造的,MQ-3酒精传感器就是其中一种,它是利用二氧化锡在高温下遇到酒精气体时,电阻会急剧减小的原理制造的。



回复

使用道具 举报

582#
ID:513258 发表于 2019-6-25 11:06 | 只看该作者
MQ-3可应用于家庭、工厂、商业场所的气体泄漏监测装置,防火,安全探测系统。气体泄漏报警器.气体检漏仪。高灵敏度、快速响应恢复、优异的稳定性、长寿命、驱动电路简单、电信号输出强。






回复

使用道具 举报

583#
ID:513258 发表于 2019-6-25 11:17 | 只看该作者
优点
可有效用于酒精、乙醇等气体的检测。寿命长、成本低廉,适用于民用气体的检测,高质量的半导体传感器也可满足工业检测的需求。

缺点
需要预热,稳定性较差,受环境温度、湿度等因素影响较大;每一种传感器的选择性都不是唯一的,输出参数也不能确定,不宜应用于计量准确要求的场所。




回复

使用道具 举报

584#
ID:513258 发表于 2019-6-25 11:21 | 只看该作者
使用注意事项
1、避免暴露于可挥发性硅化合物蒸气中,传感器要避免暴露于硅粘接剂、发胶、硅橡胶、腻子或其它存在可挥发性硅化合物的场所。如果传感器的表面吸附了硅化合物蒸气,传感器的敏感材料会被硅化合物分解形成的二氧化硅包裹,抑制传感器的敏感性,并且不可恢复。
2、避免高腐蚀性的环境,传感器暴露在高浓度的腐蚀性气体(如 H 2 S,SO X ,Cl 2 ,HCl 等)中,不仅会引起加热材料及传感器引线的腐蚀或破坏,并会引起敏感材料性能发生不可逆的劣变。
3、避免碱、碱金属盐、卤素的污染,传感器被碱金属尤其是盐水喷雾污染后,或暴露在卤素如氟利昂中,也会引起性能劣变。
4 、避免接触到水,溅上水或浸到水中会造成传感器敏感特性下降。
5 、避免结冰,水在传感器敏感材料表面结冰会导致敏感层碎裂而丧失敏感特性。
6 避免施加电压过高,如果给传感器或加热器施加的电压高于规定值,即使传感器没有受到物理损坏或破坏,也会造成引线和/或加热器损坏,并引起传感器敏感特性下降。



回复

使用道具 举报

585#
ID:513258 发表于 2019-6-25 14:50 | 只看该作者
MQ-3酒精乙醇传感器模块(半导体式表面电阻控制型)






回复

使用道具 举报

586#
ID:513258 发表于 2019-6-25 15:37 | 只看该作者
规格参数
1. 探测范围:10~1000ppm酒精
2. 特征气体:125ppm酒精
3. 加热电压:5±0.2V(AC·DC)
4. 回路电压:≤24V    DC
5. 负载电阻:可调
6. 清洁空气中电压:≤1.5V
7. 灵敏度:Rin air/Rin typical gas≥5
8. 响应时间:≤10S
9. 恢复时间:≤30S
10.元件功耗:≤0.9W
11.主要芯片:LM393、MQ-3气体传感器
12.使用寿命:5年




回复

使用道具 举报

587#
ID:513258 发表于 2019-6-25 15:41 | 只看该作者
电原理图






回复

使用道具 举报

588#
ID:513258 发表于 2019-6-25 16:13 | 只看该作者
电气性能
主要芯片:LM393、MQ-3气体传感器
输入电压:DC5V 功耗(电流):150mA
DO输出:TTL数字量0和1(0.1和5V)
AO输出:0.1-0.3V(相对无污染),最高浓度电压4V左右
特别提醒:传感器通电后,需要预热20S左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。





回复

使用道具 举报

589#
ID:513258 发表于 2019-6-25 16:21 | 只看该作者
模块特色
1、采用优质双面板设计,具有电源指示和TTL信号输出指示;
2、具有DO开关信号(TTL)输出和AO模拟信号输出;
3、TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机或继电器模块)
4、模拟量输出电压,浓度越高电压越高。
5、对酒精检测有较好的灵敏度。
6、有四个螺丝孔便于定位;
7、产品外形尺寸:32(L)*20(W)*22(H)
8、具有长期的使用寿命和可靠的稳定性
9、快速的响应恢复特性
10、用于机动车驾驶人员及其他严禁酒后作业人员的现场检测,也用于其他场所乙醇蒸汽的检测,探测酒精范围:探测范围 10~ 1000ppm。




回复

使用道具 举报

590#
ID:513258 发表于 2019-6-25 16:27 | 只看该作者
模块接口定义(以实物为准)
1. AO:    传感器模拟量输出
2. DO:    数字量输出(比较器输出)
3. GND:  接地
4.  VCC:   电源输入,范围: 3V-24V




回复

使用道具 举报

591#
ID:513258 发表于 2019-6-25 16:30 | 只看该作者

回复

使用道具 举报

592#
ID:513258 发表于 2019-6-25 18:47 | 只看该作者
非常简单的一个测试程序,读读串口数据,看看实验波形

  1. /*
  2. 【Arduino】37种传感器模块系列实验(37)
  3. 实验三十七:MQ-3酒精乙醇传感器模块(半导体式表面电阻控制型)
  4. */

  5. void setup()
  6. {
  7.   Serial.begin(9600);
  8.   pinMode(A0,INPUT);
  9. }

  10. void loop()
  11. {
  12.   Serial.println(analogRead(A0));
  13.   delay(200);
  14. }
复制代码



回复

使用道具 举报

593#
ID:513258 发表于 2019-6-25 18:52 | 只看该作者
预热之后的串口数据,大概在250前后



回复

使用道具 举报

594#
ID:513258 发表于 2019-6-25 18:58 | 只看该作者

回复

使用道具 举报

595#
ID:513258 发表于 2019-6-25 19:02 | 只看该作者
而后,串口输出的数字一直下降,大概十分钟前后,稳定在75左右



回复

使用道具 举报

596#
ID:513258 发表于 2019-6-25 19:06 | 只看该作者
实验用的是居家75%的消毒酒精



回复

使用道具 举报

597#
ID:513258 发表于 2019-6-25 19:12 | 只看该作者
这模块确实对酒精很敏感,最高升到800多



回复

使用道具 举报

598#
ID:513258 发表于 2019-6-25 19:18 | 只看该作者
拧紧酒精瓶盖后,数据有个缓慢的下降过程






回复

使用道具 举报

599#
ID:513258 发表于 2019-6-25 19:23 | 只看该作者
把酒精撒到地上一点,也能检测到,数据幅度小很多




回复

使用道具 举报

600#
ID:513258 发表于 2019-6-25 19:44 | 只看该作者
一个检测酒精浓度的报警程序,目前稳态数据在68



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表