生活新装备
NEW EQUIPMENT FOR LIFE
CC3200LaunchPad,如图,就不多评价了,性能啥的应该还可以,不过8266的性价比大家都懂(尤其是价格),一般玩wifi都玩8266,手里这块CC3200LaunchPad吃灰好久了,上边有个红外的温度传感器,TI的TMP006,感觉可以利用一下,做个温度计,省的吃灰。
· 材料
1. CC3200LaunchPad
2. TMP1637数码管
3. 杜邦线
4. microUSB电源线
· 开发环境
energia,好像是TI推出的,类似arduino的开发环境,库函数很好下载添加,简单粗暴实现功能
· 硬件连线
注意下载部分需要跳线线,不知道TI为啥设计这么复杂繁琐数码管模块连线参考上图注释没找到CC3200的库,随便用个红色板子画了个示意图:
· 红外温度传感器
(这个比较复杂,回头我单开一篇聊聊这个传感器,这个设计里我使用的是目标问题,因为感觉和环境温度比较接近,)
TMP006,TI说这款芯片的介绍是世界上首款单片数字IR MEMS温度传感器,首次为便携式消费电子产品实现非接触温度测量功能。
优势:
体积小。
支持-40℃至+125℃宽范围工作温度,测温范围远远超过这个范围,因为红外测温测的是目标温度和环境温度的温差,只要温差电势不超过允许值(5.12mV)就可以
红外测量速度块,这个是我说的,热敏电阻温度变化比较慢,比如从温暖的室内到寒冷的室外,热敏电阻需要一段时间才能准确测量环境温度,红外温度传感器原理不同,所以速度的会快。
测量了一段时间室内温度,和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%10;
dis_temp = (int16_t)(objt*10);
ListDisp[2] = dis_temp%10;
dis_temp = (int16_t)(objt*100);
ListDisp[3] = dis_temp%10;
tm1637.display(0,ListDisp[0]);
tm1637.display(1,ListDisp[1]);
tm1637.point(1);
tm1637.display(2,ListDisp[2]);
tm1637.display(3,ListDisp[3]);
· 结构
找了个翻盖的盒子,正好放下两个东西,竖起来打开盖子,正好可以平稳放在桌面上,再给板子沾个安全带,防止立在桌面上倒下滚出来
最终展示效果:
室温23.94约24摄氏度,中间的小数点,你懂的,能看懂就行哈
获取更多创客作品和教程
请扫描二维码