单片机温度控制系统编程(单片机开发板不吃灰运动)

CC3200LaunchPad,如图,就不多评价了,性能啥的应该还可以,不过8266的性价比大家都懂(尤其是价格),一般玩wifi都玩8266,手里这块CC3200LaunchPad吃灰好久了,上边有个红外的温度传感器,TI的TMP006,感觉可以利用一下,做个温度计,省的吃灰。

单片机温度控制系统编程(单片机开发板不吃灰运动)(1)

材料

CC3200LaunchPad

TMP1637数码管

杜邦线

microUSB电源线

开发环境

energia,好像是TI推出的,类似arduino的开发环境,库函数很好下载添加,简单粗暴实现功能

单片机温度控制系统编程(单片机开发板不吃灰运动)(2)

硬件连接

注意下载部分需要条线,不知道TI为啥设计这么复杂繁琐

数码管模块连线参考上图注释

没找到CC3200的库,随便用个红色板子画了个示意图:

单片机温度控制系统编程(单片机开发板不吃灰运动)(3)

红外温度传感器:

这个比较复杂,回头我单开一篇聊聊这个传感器,这个设计里我实用的是目标问题,因为感觉和环境温度比较接近

TMP006,TI说这款芯片的介绍是世界上首款单片数字IR MEMS温度传感器,首次为便携式消费电子产品实现非接触温度测量功能。

优势:

1. 体积小

2. 支持-40℃至 125℃宽范围工作温度,测温范围远远超过这个范围,因为红外测温测的是目标温度和环境温度的温差,只要温差电势不超过允许值(5.12mV)就可以

3. 红外测量速度块,这个是我说的,热敏电阻温度变化比较慢,比如从温暖的室内到寒冷的室外,热敏电阻需要一段时间才能准确测量环境温度,红外温度传感器原理不同,所以速度的会快。

测量了一段时间室内温度,和DHT11和DHT21(AM2301)对比,“Object Temperature”目标温度更接近对照传感器。

软件:

调用了这几个库函数

#include <Wire.h>

#include "Adafruit_TMP006.h"

#include "TM1637.h"

Float数据转换显示部分:

dis_temp = (int16_t)objt;

ListDisp[0] = dis_temp/10;

ListDisp[1] = dis_temp;

dis_temp = (int16_t)(objt*10);

ListDisp[2] = dis_temp;

dis_temp = (int16_t)(objt*100);

ListDisp[3] = dis_temp;

tm1637.display(0,ListDisp[0]);

tm1637.display(1,ListDisp[1]);

tm1637.point(1);

tm1637.display(2,ListDisp[2]);

tm1637.display(3,ListDisp[3]);

结构:

找了个翻盖的盒子,正好放下两个东西,竖起来打开盖子,正好可以平稳放在桌面上,再给板子沾个安全带,防止立在桌面上倒下滚出来

单片机温度控制系统编程(单片机开发板不吃灰运动)(4)

最终显示效果:

单片机温度控制系统编程(单片机开发板不吃灰运动)(5)

室温23.94约24摄氏度,中间的小数点,你懂的,能看懂就行哈~

感谢您的阅读,获取更多创客作品和教程,请关注我:DLGG创客DIY,微信微博头条同名,欢迎关注

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页