温度传感器ds18b20的功能,ds18b20温度传感器的基本特性

首页 > 机动车 > 作者:YD1662023-11-03 16:41:46

一、前言

1)无线智能控制模块1个 (Esp8266)

2)4段共阳数码管(0.36英寸)

3)DS18B20传感器2根(1米和2米),杜邦线8根

4)arduino 1.8.13

5)调试数码管 a.显示温度 b.显示时间

二、注意事项及主要代码

#include "TM1637.h" //四位0.36英寸-12脚8级灰度可调 https://github.com/Seeed-Studio/Grove_4Digital_display //注意库文件引用方法 找到此对应的库,注意不要错了哦!arduino有个库容易引用错 #define CLK_PIN 0 #define CLK_PIN 2 TM1637 tm1637(CLK_PIN,DIO_PIN); //注意我的模块引脚资源紧张 用的是0和2 //(0,2) 4段共阳红色12针0.36寸数码管DIO 3.3~5.5V,8级灰度可调 int8_t tm1637Data[] = {0x00,0x00,0x00,0x00}; //四段数据初始化为四个0 //setup() {...} 中进行初始化 tm1637.init();//初始化 tm1637.point(1);//小数点开关,true=1为打开,false=0为关闭(需要地方调用即可) tm1637.set(BRIGHT_TYPICAL);//亮度 BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7; tm1637.display(tm1637Data);//显示初始化的值0 0 : 0 0 //loop(){...}进行更新数码管的值 //此时我将更新全局变量tm1637Data的数组的值即可 //调用频率1秒,温湿度读取频率10秒 //更新时间的方法(提前获取到网络时间NTP方式获取的)hours,minutes tm1637.point(POINT_ON); //冒号POINT_ON=1 tm1637.display(0,hours/10); //1段 tm1637.display(1,hours); //2段 tm1637.display(2,minutes/10); //3段 tm1637.display(3,minutes); //4段 //更新温度的方法(在别的温度获取代码中解析到数据更新到全局变量tm1637Data中)即可 //主要代码(获取平均温度后,此方法见上篇文档) tm1637.point(POINT_OFF);//关闭冒号显示(0)因为不能显示一个点 防止和时间误导 tm1637Data[0]=String(dx_temp_avg).substring(0,1).toInt(); tm1637Data[1]=String(dx_temp_avg).substring(1,2).toInt(); tm1637Data[2]=String(dx_temp_avg).substring(3,4).toInt(); tm1637Data[3]=String(dx_temp_avg).substring(4,5).toInt(); tm1637.display(tm1637Data); //dx_temp_avg就是平均温度的值变量 //思路:可以设置一个公共变量,用于判断是显示时间还是显示温度值即可 //更多方法见欢迎交流远程体验: 久爱物联网 jiuaiiot

三、调试结果

温度传感器ds18b20的功能,ds18b20温度传感器的基本特性(1)

debug输出结果

温度传感器ds18b20的功能,ds18b20温度传感器的基本特性(2)

手机温度曲线图(10秒更新)

温度传感器ds18b20的功能,ds18b20温度传感器的基本特性(3)

2个传感器1个四段数码管显示温度(无点)

温度传感器ds18b20的功能,ds18b20温度传感器的基本特性(4)

首页 12下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.