一、前言
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 2TM1637 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%10); //2段 tm1637.display(2,minutes/10); //3段 tm1637.display(3,minutes%10); //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
三、调试结果
![6c05d6b94a5f170a86b0e5705f709400.png](https://i-blog.csdnimg.cn/blog_migrate/e554aadfe8499f66efddf7a6a3e67ebd.jpeg)
debug输出结果
![4e7daaa4937b47a8ac7f60189cd643aa.png](https://i-blog.csdnimg.cn/blog_migrate/41b576039e9a2995e47684cbb5c31e41.jpeg)
手机温度曲线图(10秒更新)
![6b586f4a5d17f89189cc0ae088ba379a.png](https://i-blog.csdnimg.cn/blog_migrate/4903463ebd63d946b3f7e30f8fdb5a87.jpeg)
2个传感器1个四段数码管显示温度(无点)
![60e3b96242755def4e29b3fc2321ce5e.png](https://i-blog.csdnimg.cn/blog_migrate/bd88147bab588e1066179e8936544cc9.jpeg)
温湿度模块及ds18b20
本次使用的ds18b20和上篇的不太一样哦。
![c037fdadea4978a4a4802bd50dc4ed90.png](https://i-blog.csdnimg.cn/blog_migrate/67e0bdd3ac76a6abeb6890eddb4eaab9.jpeg)
4段数码管证明(12针脚引出4针脚)共阳
![8f9bf8d37899fe4464b4124839f80f3f.png](https://i-blog.csdnimg.cn/blog_migrate/6e60c4a333499ad8f593627a8d40dc39.jpeg)
DC3.3~5.5V GPIO0-GPIO2连接控制模块
![7a6e7e7e34310227e37f2870c6843563.png](https://i-blog.csdnimg.cn/blog_migrate/f3f0b6551f8b910c21d6e6f1750ec417.jpeg)
控制模块支持功能说明