找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
641#
ID:513258 发表于 2019-6-27 18:16 | 只看该作者

回复

使用道具 举报

642#
ID:513258 发表于 2019-6-27 18:18 | 只看该作者

回复

使用道具 举报

643#
ID:513258 发表于 2019-6-27 18:24 | 只看该作者
用手触摸DS18B20,温度升高



回复

使用道具 举报

644#
ID:513258 发表于 2019-6-27 19:05 | 只看该作者

回复

使用道具 举报

645#
ID:513258 发表于 2019-6-27 19:06 | 只看该作者

回复

使用道具 举报

646#
ID:513258 发表于 2019-6-27 19:26 | 只看该作者

回复

使用道具 举报

647#
ID:513258 发表于 2019-6-27 19:27 | 只看该作者

回复

使用道具 举报

648#
ID:513258 发表于 2019-6-28 06:48 | 只看该作者
实验四十:360度旋转增量编码器模块(KY-040)

EC11旋转编码器
也叫开关编码器、旋转编码器,EC11系列编码器有直插编码器、贴片式编码器、沉板式编码器、侧插式编码器,EC11A为直插式编码器。因广泛用于车载DVD、车载导航、汽车影音上,也经常被人称为汽车编码器。EC11编码器在各类仪器设备中用于频率、音量、速度、温度、电压、菜单选择、光线强弱等参数的控制。此款编码器有做20脉冲20定位点、15脉冲30定位点两种。调节轴有金属柄和塑胶柄,轴长区间9-30mm,调节轴有全柄、半柄、螺纹柄等类型供您选择。EC11系列编码器主要用于汽车电子、多媒体音响、仪器仪表、家用电器、智能家居、计算机周边、医疗器械等领域。主要用于频率调节、亮度调节、温度调节、音量调节的参数控制等。



回复

使用道具 举报

649#
ID:513258 发表于 2019-6-28 07:48 | 只看该作者

回复

使用道具 举报

650#
ID:513258 发表于 2019-6-28 07:53 | 只看该作者
技术参数
使用温度范围:-30℃ to+80℃
保存温度范围: -40℃ to+85℃
额定电压:DC 5V(最高12V)
全回转角度:360度(无止档点)
回转寿命:30000+200 Cycles
接触电阻:≤100mΩ
绝缘阻抗:100MΩ 以上
振荡:≤10mS 按压(开关SW)
寿命:20,000±200次.(0.5行程)
          15,000±200次.(1.5行程)




回复

使用道具 举报

651#
ID:513258 发表于 2019-6-28 08:39 | 只看该作者

回复

使用道具 举报

652#
ID:513258 发表于 2019-6-28 08:46 | 只看该作者
工作原理
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表明位移的巨细。编码器是把角位移或直线位移转换成电信号的一种设备。依照读出办法编码器能够分为机械式和非机械式两种:机械式选用电刷输出,一电刷触摸导电区或绝缘区来表明代码的状况是“1”仍是“0”;非机械式的承受灵敏元件是光敏元件或磁敏元件,选用光敏元件时以透光区和不透光区来表明代码的状况是“1”仍是“0”。旋转增量式编码器以转变时输出脉冲,通过计数设备来晓得其方位,当编码器不动或停电时,依托计数设备的内部回忆来记住方位。这样,当停电后,编码器不能有任何的移动,当来电作业时,编码器输出脉冲进程中,也不能有搅扰而丢掉脉冲,否则,计数设备回忆的零点就会偏移,并且这种偏移的量是无从晓得的,只要过错的出产成果呈现后才晓得。

目前常用的增量式编码器全部为机械式编码器,好用且成本低,高端的一般为非机械光电式的。




回复

使用道具 举报

653#
ID:513258 发表于 2019-6-28 08:58 | 只看该作者

回复

使用道具 举报

654#
ID:513258 发表于 2019-6-28 09:00 | 只看该作者

回复

使用道具 举报

655#
ID:513258 发表于 2019-6-28 09:09 | 只看该作者
旋转编码器
可通过旋转可以计数正方向和反方向转动过程中输出脉冲的次数,旋转计数不像电位计,这种转动计数是没有限制的。配合旋转编码器上的按键,可以复位到初始状态,即从 0 开始计数。增量编码器是一种将旋转位移转换为一连串数字脉冲信号的旋转式传感器。这些脉冲用来控制角位移。在 Eltra 编码器中角位移的转换采用了光电扫描原理。读数系统以由交替的透光窗口和不透光窗口构成的径向分度盘(码盘)的旋转为依据,同时被一个红外光源垂直照射,光把码盘的图像投射到接收器表面上。接收器覆盖着一层衍射光栅,它具有和码盘相同的窗口宽度。接收器的工作是感受光盘转动所产生的变化,然后将光变化转换成相应的电变化。再使低电平信号上升到较高电平,并产生没有任何干扰的方形脉冲,这就必须用电子电路来处理。读数系统通常采用差分方式,即将两个波形一样但相位差为180°的不同信号进行比较,以便提高输出信号的质量和稳定性。读数是再两个信号的差别基础上形成的,从而消除了干扰。




回复

使用道具 举报

656#
ID:513258 发表于 2019-6-28 09:18 | 只看该作者
光电编码器
是一种将位移或角度的模拟信号转换成相应的电脉冲或数字量角度/角速度检测元件,具有精度高、体积小、工作可靠、接口数字化等优点。光电编码器一般由透镜、光栅盘(码盘)、光敏元件和放大整形电路组成。工作时,光栅盘与电机同速旋转,同时一个带有辨向狭缝(或狭缝群)的扇形薄片与圆盘平行放置,当光线通过这两个做相对运动的光栅盘时,光敏元件接受到的光通量也时大时小地连续变化,经放大整形电路处理后变成脉冲信号。通过测量捕捉到的脉冲数目和频率即可测出工作轴的转角和转速。而电机的当前转速通过每秒光电编码器输出脉冲的个数可以计算出来。




回复

使用道具 举报

657#
ID:513258 发表于 2019-6-28 09:36 | 只看该作者

回复

使用道具 举报

658#
ID:513258 发表于 2019-6-28 09:44 | 只看该作者
旋转编码器模块
工作电压:5V
一圈脉冲数:20
旋转编码器可通过旋转可以计数正方向和反方向转动过程中输出脉冲的次数,旋转计数不像电位计,这种转动计数是没有限制的。配合旋转编码器上的按键,可以复位到初始状态,即从0开始计数。




回复

使用道具 举报

659#
ID:513258 发表于 2019-6-28 10:23 | 只看该作者
我手头的旋转编码器模块有5个引脚,分别是VCC, GND, SW, CLK, DT。其中VCC和GND用来接电源和地,按缩写SW应该是Switch(开关)、CLK是Clock(时钟)、DT是Data(数据)。两个引脚那一端为普通的按键,也就是圆柄按下去的那个按键,当做普通按键使用即可。右边三个引脚中间的为GND,两边为两路脉冲信号CLK和DT。旋转编码器的操作是旋转和按压转轴,在按下转轴的时候SW引脚的电平会变化,旋转的时候每转动一步CLK和DT的电平是有规律的变化。




回复

使用道具 举报

660#
ID:513258 发表于 2019-6-28 10:43 | 只看该作者
引脚接线
Arduino Uno              旋转传感器模块
D2                              CLK(Clock 时钟)
D3                              DT (Data 数据)
D4                              SW   (按钮开关)   
5V                              +VCC   
GND                           GND  



回复

使用道具 举报

661#
ID:513258 发表于 2019-6-28 11:01 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(40)
  3. 实验四十:360度旋转增量编码器模块(KY-040)
  4. */

  5. int CLK = 2;
  6. int DT = 3;
  7. int SW = 4;
  8. const int interrupt0 = 0;
  9. int count = 0;
  10. int lastCLK = 0;

  11. void setup()
  12. {
  13.   pinMode(SW, INPUT);
  14.   digitalWrite(SW, HIGH);
  15.   pinMode(CLK, INPUT);
  16.   pinMode(DT, INPUT);
  17.   attachInterrupt(interrupt0, ClockChanged, CHANGE);
  18.   Serial.begin(9600);
  19. }

  20. void loop()
  21. {
  22.   if (!digitalRead(SW) && count != 0)
  23.   {
  24.     count = 0;
  25.     Serial.print("count:");
  26.     Serial.println(count);
  27.   }
  28. }

  29. void ClockChanged()
  30. {
  31.   int clkValue = digitalRead(CLK);
  32.   int dtValue = digitalRead(DT);
  33.   if (lastCLK != clkValue)
  34.   {
  35.     lastCLK = clkValue;
  36.     count += (clkValue != dtValue ? 1 : -1);
  37.     Serial.print("count:");
  38.     Serial.println(count);
  39.   }
  40. }
复制代码


回复

使用道具 举报

662#
ID:513258 发表于 2019-6-28 11:03 | 只看该作者

回复

使用道具 举报

663#
ID:513258 发表于 2019-6-28 11:05 | 只看该作者

回复

使用道具 举报

664#
ID:513258 发表于 2019-6-28 11:09 | 只看该作者
按轴清零,顺时针转动+1,逆时针旋转-1



回复

使用道具 举报

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

回复

使用道具 举报

666#
ID:513258 发表于 2019-6-28 11:32 | 只看该作者

回复

使用道具 举报

667#
ID:513258 发表于 2019-6-28 11:32 | 只看该作者

回复

使用道具 举报

668#
ID:513258 发表于 2019-6-28 11:45 | 只看该作者
  1. /*
  2. 【Arduino】66种传感器模块系列实验(40)
  3. 实验四十:360度旋转增量编码器模块(KY-040)之二
  4. 输出数字换屏
  5. */

  6. const int clkPin = 2;
  7. const int dtPin = 3;
  8. const int swPin = 4 ;
  9. int encoderVal = 0;

  10. void setup()
  11. {
  12.   
  13.   pinMode(clkPin, INPUT);
  14.   pinMode(dtPin, INPUT);
  15.   pinMode(swPin, INPUT);
  16.   digitalWrite(swPin, HIGH);
  17.   Serial.begin(9600);
  18. }

  19. void loop()
  20. {
  21.   int change = getEncoderTurn();
  22.   encoderVal = encoderVal + change;
  23.   if (digitalRead(swPin) == LOW)
  24.   {
  25.     encoderVal = 0;
  26.   }
  27.   Serial.println(encoderVal);
  28. }
  29. int getEncoderTurn(void)
  30. {
  31.   static int oldA = HIGH;
  32.   static int oldB = HIGH;
  33.   int result = 0;
  34.   int newA = digitalRead(clkPin);
  35.   int newB = digitalRead(dtPin);
  36.   if (newA != oldA || newB != oldB)
  37.   {

  38.     if (oldA == HIGH && newA == LOW)
  39.     {
  40.       result = (oldB * 2 - 1);
  41.     }
  42.   }
  43.   oldA = newA;
  44.   oldB = newB;
  45.   return result;
  46.   delay(500);
  47. }
复制代码


回复

使用道具 举报

669#
ID:513258 发表于 2019-6-28 11:47 | 只看该作者







回复

使用道具 举报

670#
ID:513258 发表于 2019-6-28 12:09 | 只看该作者

回复

使用道具 举报

671#
ID:513258 发表于 2019-6-29 13:13 | 只看该作者
实验四十一:IS0203激光接收管传感器模块

IS0203激光接收管
400-1100nm激光接收管,内置施密特电路




回复

使用道具 举报

672#
ID:513258 发表于 2019-6-29 13:52 | 只看该作者
实验四十一:IS0203激光接收管传感器模块

IS0203激光接收管
400-1100nm激光接收管,内置施密特电路




回复

使用道具 举报

673#
ID:513258 发表于 2019-6-29 13:52 | 只看该作者

回复

使用道具 举报

674#
ID:513258 发表于 2019-6-29 13:58 | 只看该作者

回复

使用道具 举报

675#
ID:513258 发表于 2019-6-29 14:01 | 只看该作者

回复

使用道具 举报

676#
ID:513258 发表于 2019-6-29 14:03 | 只看该作者

回复

使用道具 举报

677#
ID:513258 发表于 2019-6-29 14:06 | 只看该作者

回复

使用道具 举报

678#
ID:513258 发表于 2019-6-29 14:12 | 只看该作者

回复

使用道具 举报

679#
ID:513258 发表于 2019-6-29 14:14 | 只看该作者

回复

使用道具 举报

680#
ID:513258 发表于 2019-6-29 14:17 | 只看该作者

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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