项目背景
最近有好几个哥们都通过公众号问我DS18B20测量温度的事情。有的是自己不懂单片机想测量家里水管的温度,有的是懂一点单片机在实验室采集温度数据,有的是纯粹的自学的想测量一下温度顺便弄一下课程设计。
文末有恰饭内容,车速较快注意安全。
考虑到我祖传的焊台好久没有通电了,就规划了这个项目。秉承勤俭节约的原则,项目使用了SOP8的51单片机,用掉一路串口,还有4个IO口正好可以接4路传感器。这里感谢一位叫小明的男人帮我分担优与愁,事实证明只有男人才懂男人。
本来做完硬件就准备撤了,奈何忍受不了一包烟的诱惑,男人嘛,总有突破点。顺手又整了一个上位机,可把我的肾给亏完了,连续肝几个晚上,哥们你看到了别忘了再来两包烟。
其实这种数据采集系统最核心的地方在于通信协议,一个合适的通信协议能避免后期80%以上的坑。这次设计的温度采集系统采用JSON字符串交换数据,一种人类和计算机都容易理解的字符串。固定3秒主动输出一次数据,嫌慢了你可以自己改源码。这样搞的好处是不用考虑太多的数据交互问题,安心做好数据处理就完事了。
关键是温度这数据吧,还真不是啥重要数据,采集几万个数据丢那么几百个都无所谓,所以不用考虑数据重传啥的各种特殊情况,丢就丢了呗。
1,开发前规划
四路温度转串口模块-DS18B20-开发前规划 | |||
关键字:DS18B20;51单片机;温度采集;串口模块;上位机 |
|||
要求:制作一个能读取四路DS18B20温度数值的串口模块,并配套上位机。 |
|||
项目 |
立创编号 |
型号 |
备注 |
单片机 |
C42240 | STC15W204S-35I | SMT可贴;小封装;供电2.5V~5.5V |
DS18B20 |
C376006 | DS18B20 | SMT可贴;供电2.5V~5.5V |
线性稳压器 |
C324580 | MST5330BTE | SMT可贴;输出3V;输入35V |
供电接口 |
C442363 | HX25003-4AWB | VCC,GND,TX,RX对外接口 |
传感器接口 |
C442362 | HX25003-3AWB | 三线制传感器接口 |
线缆 |
C385825 | S108520015 | 4Pin线缆,供电接口用 |
线 |