极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1616|回复: 4

自制水箱温度传感器

[复制链接]
发表于 2018-8-5 09:58:11 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2018-8-5 10:04 编辑

我家里用的热水器是那种不带温度显示的,于是每次烧水都得用手摸摸,还经常烧过头,因此在这里想做一个简单的温度显示器
1.准备材料和工具
如图,准备好洞洞板,排针,uno和防水ds18b20,以及4.7k电阻和2.7k电阻,我用的是单芯的细线,焊起来比较方便,推荐使用这种剥线钳。
QQ图片20180805094101.jpg
2.焊接
原理图

在此就省略过程了,要注意的是,v0和vss间的2。7k电阻一定不能省略,要不然不会有字,这里我是把背光都焊上的
不过我推荐一种比松香好使的焊药:zncl,就是氯化锌,他既能除去氧化膜又能“复活”烙铁,我这边本地价格也不是很贵,一瓶不到20,就算是生了铁锈的烙铁也能复活,,,
3.程序
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3. #include <LiquidCrystal.h>
  4. #define ONE_WIRE_BUS 1        //1号引脚输出温度
  5. OneWire oneWire(ONE_WIRE_BUS);
  6. DallasTemperature sensors(&oneWire);
  7. LiquidCrystal lcd(11,12,13,2,3,4,5,6,7,8,10); //LCD显示

  8. void setup(void)
  9. {
  10.     lcd.begin(16, 2);
  11.     lcd.setCursor(0,0);           //第1行第0格开始显示
  12.     lcd.print("Temperture=");     //显示温度单词
  13.     sensors.begin();          //传感器启动
  14. }

  15. void loop(void)
  16. {
  17.       float tem;        //输出温度值
  18.       sensors.requestTemperatures(); // Send the command to get temperatures
  19.       tem = sensors.getTempCByIndex(0);
  20.       delay(100);             //每隔100ms检测一次温度是否改变
  21.       lcd.setCursor(10,1);      //在第2行,第10格显示示数
  22.       lcd.print(tem);
  23. }
复制代码

之前我想先从protues8.6上仿真一遍,可惜没成功
4.完成
QQ图片20180805094101.jpg
焊接细节图
QQ图片20180805095242.jpg
这里显示器的线和no正好方向反过来,就是有点难焊。。。
回复

使用道具 举报

发表于 2018-8-5 10:05:42 | 显示全部楼层
探头是焊接到水壶上的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-5 10:10:48 | 显示全部楼层
本帖最后由 曾繁华 于 2018-8-5 10:14 编辑
弘毅 发表于 2018-8-5 10:05
探头是焊接到水壶上的?

额,,不是喝的水壶,是洗澡的水箱
扔在里面的,铝的壳子,焊不上
回复 支持 反对

使用道具 举报

发表于 2018-8-8 10:54:03 | 显示全部楼层
为什么不再加一个继电器模块弄个温控的呢?
回复 支持 反对

使用道具 举报

发表于 2018-8-12 00:14:37 | 显示全部楼层
asdfcgdc 发表于 2018-8-8 10:54
为什么不再加一个继电器模块弄个温控的呢?

也对
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2018-12-13 22:10 , Processed in 0.049509 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表