zoukankan      html  css  js  c++  java
  • 【Arduino】1、用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) = 10;
    PIN19      =5V
    PIN20      =GND
    注意跟库文件中的定义对应
    */
    

     19、20脚可以跟2、1脚用线直接连起来。不过我没有这么做,我是直接接的面包板。

    通电,上载程序,显示成功。赶紧睡觉去了。

    第二天,我把温度传感器加了4.8K(我没有4.7K的电阻,用了两个2.4K的串连)的上拉电阻,然后就一下出来了。高兴。


    图1:上拉电阻

    图2:温度传感器

    图3:整体图(左下角那一缕线是接到LCD的)


    图4:当前室温


    图5、用手把传感器捂一会,温度就上来了。

    然后再在LCD上显示出来吧。结果,温度是Float的,LCD的函数用的是unsigned char*,对我这个对C++一窍不通的人来说,浪费了一晚上的时间啊。郁闷、气愤。

    在QQ群里,也没人能帮一把。寒心。

    妈的,一切还得靠自己啊。

    还好,在我要放弃的时候,它突然就好了。

    实验视频:http://v.youku.com/v_show/id_XMzQxNjc3MjUy.html

    电路图:

  • 相关阅读:
    [NOI2010] 能量采集 (数学)
    mysql双主操作记录
    linux查看版本
    netty
    idea修改文件,target目录对应的文件消失
    oracle11g的分区(range、list)索引测试
    There is a cycle in the hierarchy解决办法
    git学习转廖雪峰
    解决SVN Cleanup错误: Failed to run the WC DB work queue associated with
    nginx之 proxy_pass
  • 原文地址:https://www.cnblogs.com/Aricc/p/2318719.html
Copyright © 2011-2022 走看看