Arduino 数字温度探头和ESP8266故障
我有一个困难的时间排除这个项目建设我的。我试图利用DS18B20温度传感器和ESP8266来创建温度信标 我遇到的问题与ESP8266解释的数据有关。我正在使用Arduino IDE编程HUZZAH ESP8266突破 WiFi客户端正常工作,但温度感应不正常。当我将相同的草图上传到Arduino Mega2560(显然是重新编译的)上,并将数据线插入2560的数字管脚时,探针温度完美地进入,随着温度的变化而变化。如果我拔掉数据线,我得到-196.80,我假设是一个接地值 只要将数据线移入ESP8266引脚,我就会收到262.29的温度,无论传感器温度如何,在两次读取之间都不会发生变化 我已经确保所有的电缆都连接正确,没有奇怪的接地或任何事情。我尝试过改变串行接口的波特率,可能认为时钟与此有关,但似乎没有任何影响 任何想法/方向都会受到赞赏Arduino 数字温度探头和ESP8266故障,arduino,esp8266,arduino-esp8266,Arduino,Esp8266,Arduino Esp8266,我有一个困难的时间排除这个项目建设我的。我试图利用DS18B20温度传感器和ESP8266来创建温度信标 我遇到的问题与ESP8266解释的数据有关。我正在使用Arduino IDE编程HUZZAH ESP8266突破 WiFi客户端正常工作,但温度感应不正常。当我将相同的草图上传到Arduino Mega2560(显然是重新编译的)上,并将数据线插入2560的数字管脚时,探针温度完美地进入,随着温度的变化而变化。如果我拔掉数据线,我得到-196.80,我假设是一个接地值 只要将数据线移入ESP
我已根据位于的图表连接电路 我已经上传到ESPs了。该代码设计用于设置WiFi客户端(连接到本地AP,工作完全正常)、请求TEMP并提交给具有侦听服务器的主机。引脚(2)指ESP8266上的GPIO2[我想]
所以我找到了解决办法。我不确定是否每个人都遇到过这种特殊问题,但是,在我的情况下,数据线上的寄生功率没有给IC充电到足以完成正确计算的程度
我所要做的就是解开VDD引脚并将其连接到5V导轨上。将数据线上的4.7kOhm电阻器也拉至5V导轨。执行此操作后,程序会报告寄生功率:OFF,并报告我希望的温度 我更改了上面的帖子,加入了一个可行的解决方案 DS18B20设备可以在两种电源模式(正常和寄生)下工作。在寄生电源的情况下,VDD引脚跳转到GND,IC从连接回微控制器的数据线接收电源 DS18B20的一个有趣特性是温度感应期间的功耗。在寄生模式下工作时,主机设备需要能够为IC提供足够的电源以完成计算,否则设备将返回错误答案 我的解决方案(使用Adafruit HUZZAH ESP8266微控制器)是不使用寄生电源。我不能肯定这个设置的问题是什么,但是,当在正常模式下配置电路时,探头按预期工作。我想数据线的功率不够 要从上面链接的图中更改电路,请执行以下操作:
- 拆下VDD和GND引脚之间的跳线
- 将VDD连接至5V导轨
- 保持接地至接地导轨
- 保持4.7k欧姆电阻将数据线拉至5v轨道
onewireds(D4);达拉斯温度传感器(和ds);传感器。请求温度();浮点摄氏度=传感器。getTempCByIndex(0)代码>@Fraser已编辑以确保完整性。@dandavis I已将ESP8266的pin地址调整为使用GPIO2。如果我拉数据线,我得到-196(低),如果我插入它,我得到262.29(高)。