首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ESP32: dsb1820温度传感器,提供恒定的负127读数

ESP32: dsb1820温度传感器,提供恒定的负127读数
EN

Stack Overflow用户
提问于 2020-04-12 13:27:55
回答 1查看 2K关注 0票数 1

我试图获得一个温度读数使用一个单一的dsb1820温度传感器连接到一个esp32微控制器。传感器连接到esp32的GPIO-4上.我打算把温度读数送到一片云上。

我面临的问题是温度读数总是给出-127的值。

我在网上读到,当dsb1820返回-127时,意味着传感器没有连接。

我是不是用错了引脚连接传感器?

代码语言:javascript
复制
#include "OneWire.h"
#include "DallasTemperature.h"
#include <WiFi.h>
#define WIFI_SSID "SSID"
#define WIFI_PASSWORD "PASSWORD"

OneWire oneWire(4);
DallasTemperature tempSensor(&oneWire);

void setup(void)
{
    Serial.begin(115200);
    WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
    Serial.print("Connecting to Wi-Fi");
    while (WiFi.status() != WL_CONNECTED)
    {
        Serial.print(".");
        delay(300);
    }
    Serial.println();
    Serial.print("Connected with IP: ");
    Serial.println(WiFi.localIP());
    Serial.println();

    tempSensor.begin();
}

void loop(void)
{
    tempSensor.requestTemperaturesByIndex(0);

    Serial.print("Temperature: ");
    Serial.print(tempSensor.getTempCByIndex(0));
    Serial.println(" C");

    delay(2000);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-12 16:24:37

检查你的电缆,然后:

代码语言:javascript
复制
const int oneWireBus = 32;  // on pin 32 /GPIO7/D0 on pcb (a 4.7K resistor is necessary)
OneWire oneWire(oneWireBus);

它应该是传感器的中间销(见我的图表)。

编辑 DevKit没有引脚4,您可以使用GPIO4 (在pcb上使用4),这是在Arduino 24中,但是

下面的带带引脚: 0、2、4、5(启动时高)、12 (启动时低)和15 (启动时高)用于将ESP32放入引导加载程序或闪烁模式。不要将外设连接到这些引脚上!如果您这样做,您可能有困难,试图上传代码,闪存或重置板。

连接到32 (pcb上的GPIO7或D0 ),因为这是安全的测试。

如果你有这个错误或没有/错误的电阻,它会给你-127 (或者你杀死传感器/它是DOA)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61172204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档