【雕爷学编程】Arduino动手做(212)---9合1 扩展板完成Arduino的10类实验之总线DS18B20温度传感器实验

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百一十二:9合一多功能扩展板 DHT1器温湿度 LM3 温度5蜂鸣1兼容UNO

在这里插入图片描述

采取"Arduino程序代码"+“Mind+图形编程”+"Linkboy仿真编程’三者相结合的方式

互为补充,打好基础,促进理解

在这里插入图片描述

实验目录(Arduino动手做)
一、LED 实验
01 Blink:D13蓝色 LED 闪烁
02 Blink2:D12、D13红蓝色 LED 交替闪烁
03 Blink3:模拟爆闪警灯
04 Breath_LED:D9 全彩 LED 模拟红色呼吸灯
二、按键实验
05 Button:D2 按键控制 D13蓝色 LED
06 Button_Lock:D3 按键控制 D13 蓝色LED 自锁实验
三、电位器实验
07 RS232_AD:串口读取 A0 电位器采集数值(旋转角度270°输出0-3.3V/5V电压信号电位器阻值10K)
08 Rotation_LED:A0 电位器控制 D11 全彩 LED 蓝色端亮度
09 RC_Motor:A0 电位器控制 D7 输出口的舵机控制其转动角度(舵机需自备Arduino 需要外部供电)
四、RGB 全彩 LED 实验
10 LED_RGB_Text:全彩 LED 基本颜色变化
11 LED_RGB:全彩 LED 彩虹变化
五、红外传感器D6实验(红外遥控器需自备)
12 IRrelay:按红外遥控器任意键,可以控制 D13 LED 开关(控制距离1-8米,频率38KHz,兼容市面上大部分红外遥控器)
13 IRrecord:串口显示读取的红外遥控代码
六、温度传感器实验
14 LM35_RS232AD:串口显示 A2 口 LM35 温度传感器读取的温度(可测试室内外温度,范围-50-150°C,灵敏度好)
七、温湿度传感器实验
15 DHT11_Test:串口显示 D4 口 DHT11 温湿度传感器读取的温湿度数据(测温范围0-50°C,湿度范围20%-90%PH)
八、亮度传感器实验
16 Light Sensor:串口显示 A1 口光敏电阻采集的数值
17 Light_LED:A1 口光敏电阻控制 D13 LED 开关(感光比较灵敏,适合教学实验及民用设备)
九、蜂鸣器实验
18 Buzzer:D5 口无源蜂鸣器模拟救护车警笛(可发出简单的音乐声,音乐需要通过程序编写)
十、扩展实验
19 模拟超声波测距传感器(探测类I,IIC/I2C接口)
20 总线DS18B20温度传感器(数值类,接扩展板数字D7接口)
21 TM1637四位数码管(数码管和点阵类,接扩展板数字D7/D8接口)
22 GY-BMP280-3.3 大气压强高度计传感器模块 ( 数值类,IIC/I2C接口)
23 GY-NEO-6MV2新款飞控GPS卫星信号接收模块 (数值类,TTL接口)
24 5V低电平触发单路继电器模块(执行类,数字D7接口)
25 带驻极话筒4线制声音传感器模块(触发类,数字D7接口)
26 BH1750FVI 数字光强度模块光照传感器(数值类, IIC/I2C接口)
27 开源DFPlayer Mini TF卡MP3播放模块(输出执行器类D7/D8数字接口)
28 LCD1602液晶屏模块(输出显示器类, IIC/I2C接口)
29 人体红外热释电运动传感器模块 (触发类,数字D7接口)
30 DS1307时钟模块 Tiny RTC I2C模块(探测传感器类, IIC/I2C接口)
31 兼容HC-06从机蓝牙模块(通信与存储类,TTL接口)

在这里插入图片描述

十、扩展实验
20 总线DS18B20温度传感器(数值类,接扩展板数字D7接口)

DS18B20主要特性

(1) 独特的单线接口方式,与单片机连接时仅需要一条口线;

(2) 测温范围为- 55~ + 125℃,在- 10~ + 85℃范围内精度为±0. 5 ℃;

(3) 通过编程可实现9~ 12 位的数字读数方式;

(4) 用户可自设定非易失性的报警上下限值;

(5) 外围电路简单,使用时不需要外围元件,可用数据总线供电,电压范围为3. 0 ~ 5. 5 V 无需备用电源;

(6)无需外部元件,独特的一线接口,电源和信号混合在一起;

(7)每个芯片唯一编码,支持联网寻址,零功耗等待;

(8)DS18B20 有TO 92、SOIC 及CSP 封装,其中VDD 为外接供电电源输入端,GND 为公共地,DQ为数字信号输出端;

(9)适用于冷冻库,粮仓,储罐,GPS卫星定位系统,电讯机房,电力机房,电缆线槽等测温和控制领域。

实验说明

18B20 虽然具有测温系统简单、测温精度高、連接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
1、18B20和普通的三极管看起来差不多,所以注意不要把它当成一般的Pass三极管,以免损坏。为了防止损坏 18B20,请确保电源线和地线没有接反。

2、较小的硬件开销需要相对复杂的软件进行补偿,由于18B20与微处理器间采用串口资料传送,因此,在对18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用 PL/M、C 等语言进行系统程序设计时,对 18B20 操作部分最好采用组合语言实现。

3、在 18B20 的有关资料中均未提及单汇流排上所挂 18B20 数量问题,容易使人误认为可以挂任意多个18B20,在实际应用中并非如此。当单汇流排上所挂18B20 超过 8个时,就需要解决微处理器的汇流排驱动问题,这一点在进行多点测温系统设计时要加以注意。

4、连接 18B20 的汇流排电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温资料将发生错误。当将汇流排电缆改为双绞线带遮罩电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带遮罩电缆时,正常通讯距离进一步加长。这种情况主要是由汇流排分布电容使信号波形产生畸变造成的。因此,在用18B20 进行长距离测温系统设计时要充分考虑汇流排分布电容和阻抗匹配问题。

5、在18B20 测温程式设计中,向18B20 发出温度转换命令后,程序总要等待 18B20 的返回信号,一旦某个18B20 接触不好或断线,当程序读该18B20时,将没有返回信号,程序进入闭环。这一点在进行18B20 硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用遮罩 4 芯双绞线,其中一对线接地线与信号线,另一组接 VCC 和地线,遮罩层在源端单点接地。

20 总线DS18B20温度传感器(数值类,接扩展板数字D7接口)
项目:利用DS18B20传感器进行监测,并用串口显示测出的数值
要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
OneWire.h
DallasTemperature.h

在这里插入图片描述
Arduino实验开源代码

/*
Eagler8系列实验程序列表
第10类 扩展实验
20、总线DS18B20温度传感器(数值类,接扩展板数字D7接口)
项目:利用DS18B20传感器进行监测,并用串口显示测出的数值
要点:初始化必需加载二个库(IDE-工具-管理库-搜索-下载)
OneWire.h
DallasTemperature.h
*/

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup(void)
{
    
    
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  sensors.begin();
}

void loop(void)
{
    
    
  Serial.print(" Requesting temperatures...");
  sensors.requestTemperatures();
  Serial.println("DONE");

  Serial.print("Temperature for Device 1 is: ");
  Serial.print(sensors.getTempCByIndex(0));  
  
  delay(500);
}

实验串口返回情况

在这里插入图片描述
在这里插入图片描述
实验开源图形编程(Mind+、编玩边学)

在这里插入图片描述

用手触摸DS18B20 温度传感器,则温度上升

在这里插入图片描述
只用一分钟就搞定的图形编程(比较适合像我这样的新人),现在气温是31C,我设置31.5C为声光报警的阙值,0.5C手摸一下DS18B20就过了,在设定的阙值之上会一直报警,这个简单的温控开关还是蛮精准的。

在这里插入图片描述
实验串口返回情况

在这里插入图片描述
实验开源仿真编程(Linkboy V5.33)

在这里插入图片描述

Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目三:使用板载D7数字接口外接DS18B20模块,显示温度值

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/132459093