数字温度探头和ESP8266问题

时间:2016-10-29 18:32:55

标签: arduino esp8266 arduino-esp8266

我很难对我的这个项目构建进行故障排除。我正在尝试将DS18B20温度传感器与ESP8266结合使用来创建温度信标。

我遇到的问题与ESP8266解释的数据有关。我正在使用Arduino IDE来编程HUZZAH ESP8266突破。

WiFi客户端表现得如此,但温度感应不是。当我将相同的草图上传到Arduino Mega2560(显然重新编译),并将数据线插入2560的数字引脚时,探头温度完全变化,根据温度变化。如果我拔掉数据线,我得到-196.80,我假设是基值。

只需将数据线移入ESP8266引脚,我就会收到262.29的温度,无论传感器温度如何,读数之间都不会改变。

我确保所有电缆都正确接线,没有奇怪的接地或任何东西。我曾尝试改变串行接口的波特率,可能认为时钟与它有关,但这似乎没有任何影响。

任何想法/方向总是受到赞赏!

我根据位于this link here.

的图表连接了电路

Here is a Gist to the code我一直在上传到ESP。该代码旨在设置WiFi客户端(连接到本地AP,工作正常),请求临时,并提交到具有监听服务器的主机。引脚(2)指的是ESP8266上的GPIO2 [我认为]

所以我找到了解决方案。我不确定这个问题是否已经为每个人所复制,但在我的情况下,数据线上的寄生电源并没有给IC充电,无法完成正确的计算。

我所要做的就是将VDD引脚放在一边并将其连接到5V电源轨。将数据线上的4.7kOhm电阻也拉至5V电压轨。在这样做之后,程序报告PARASITIC POWER:OFF,并报告我希望的温度!

1 个答案:

答案 0 :(得分:1)

我上面的帖子改为包含一个有效的解决方案!

DS18B20器件可在2种功耗模式下工作(正常和寄生)。在寄生电源的情况下,VDD引脚跳转到GND,IC从连接回微控制器的数据线接收电源。

DS18B20的有趣品质是温度感应时的功耗。在寄生模式下工作时,主机设备需要能够为IC提供足够的功率来完成计算,否则设备将返回错误的答案。

对我来说(使用Adafruit HUZZAH ESP8266微控制器)的解决方案是不使用寄生功率。我无法确定此设置的问题是什么,但是,在正常模式下配置电路时,探头按预期工作。我认为数据线没有足够的功率。

要从上面链接的图表中更改电路:

  • 取下VDD和GND引脚之间的跳线
  • 将VDD连接到5V电压轨
  • 将GND保持在GND轨道
  • 保持4.7kOhm电阻将数据线拉至5v轨道