总线技术|接口技术
直播中

圣西罗的雪

12年用户 28经验值
私信 关注
[资料]

Arduino--用LCD12864显示从18B20上读取的温度值

两天前拿到的板子。首先试的就是18B20,可惜读取不到值。刚开始我是直接接在了模拟口上的,后来才知道这不是模拟传感器,是数字的。又换到数字口上的,可模拟的可以通过不同的电压表示不同的温度,可数字的,就肯定有一套机制了。
再Google,知道了OneWire库和DallasTemperature库。按照Demo程序还是读取不到值,一直是0.00。
从网上也见过直接用的18B20芯片读取温度的,他们都是接了4.7K的上拉电阻的。可我想我买的是一体的芯片,直接用就可以了吧。
弄不出来就先放下了,先去整的LCD,LCD也是山寨的,板子上没有焊排针,第一个晚上,我80%的时间都用在焊排针上了。不过还好,最终得以成功。
我买的这块LCD很便宜,所以它是一个山寨货。所以,它没有使用说明。只是卖家有一句话,要使用串口“把R9上的电阻换到R10上”。实际按他说的做就没错。不过,不管电阻是放在R9上还是R10上,PSB脚就不要接了。在R9上(并行),PSB接了+5V还没事,如果再把PSB接地(想换成串口模式),那就短路了。后果可想而知。
接线对照表如下:
?
/*
LCD        Arduino
PIN1       = GND
PIN2       = 5V
PIN4(CS)   = 8;
PIN5(SID)  = 9;
PIN6(SCLK) = 3;
PIN19      =5V
PIN20      =GND
*/




19、20脚可以跟2、1脚用线直接连起来。不过我没有这么做,我是直接接的面包板。
通电,上载程序,显示成功。赶紧睡觉去了。
第二天,我把温度传感器加了4.8K(我没有4.7K的电阻,用了两个2.4K的串连)的上拉电阻,然后就一下出来了。高兴。
2012011109072725.jpg
图1:上拉电阻
2012011109095717.jpg
图2:温度传感器
2012011109114381.jpg

图3:整体图(左下角那一缕线是接到LCD的)
2012011109135563.jpg
图4:当前室温
2012011109145481.jpg
图5、用手把传感器捂一会,温度就上来了。
然后再在LCD上显示出来吧。结果,温度是Float的,LCD的函数用的是unsigned char*,对我这个对C++一窍不通的人来说,浪费了一晚上的时间啊。郁闷、气愤。
在QQ群里,也没人能帮一把。寒心。
妈的,一切还得靠自己啊。
还好,在我要放弃的时候,它突然就好了。
以下是实验视频:
[media]http://v.youku.com/v_show/id_XMzQxNjc3MjUy.html[/media]

回帖(3)

y8733515

2013-3-10 13:17:08
楼主 有没有程序给发一下,感激不尽815138196@qq.com
举报

刘义莉

2013-6-2 18:26:15
楼主 有没有程序给发一下,感激不尽1322033962@qq.com
举报

心上秋

2013-7-26 09:43:30
                           
举报

更多回帖

发帖
×
20
完善资料,
赚取积分