本帖最后由 弘毅 于 2018-8-5 10:04 编辑
我家里用的热水器是那种不带温度显示的,于是每次烧水都得用手摸摸,还经常烧过头,因此在这里想做一个简单的温度显示器
1.准备材料和工具
如图,准备好洞洞板,排针,uno和防水ds18b20,以及4.7k电阻和2.7k电阻,我用的是单芯的细线,焊起来比较方便,推荐使用这种剥线钳。
2.焊接
原理图
在此就省略过程了,要注意的是,v0和vss间的2。7k电阻一定不能省略,要不然不会有字,这里我是把背光都焊上的
不过我推荐一种比松香好使的焊药:zncl,就是氯化锌,他既能除去氧化膜又能“复活”烙铁,我这边本地价格也不是很贵,一瓶不到20,就算是生了铁锈的烙铁也能复活,,,
3.程序 - #include <OneWire.h>
- #include <DallasTemperature.h>
- #include <LiquidCrystal.h>
- #define ONE_WIRE_BUS 1 //1号引脚输出温度
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- LiquidCrystal lcd(11,12,13,2,3,4,5,6,7,8,10); //LCD显示
- void setup(void)
- {
- lcd.begin(16, 2);
- lcd.setCursor(0,0); //第1行第0格开始显示
- lcd.print("Temperture="); //显示温度单词
- sensors.begin(); //传感器启动
- }
- void loop(void)
- {
- float tem; //输出温度值
- sensors.requestTemperatures(); // Send the command to get temperatures
- tem = sensors.getTempCByIndex(0);
- delay(100); //每隔100ms检测一次温度是否改变
- lcd.setCursor(10,1); //在第2行,第10格显示示数
- lcd.print(tem);
- }
复制代码
之前我想先从protues8.6上仿真一遍,可惜没成功
4.完成
焊接细节图
这里显示器的线和no正好方向反过来,就是有点难焊。。。 |