Один из нескольких датчиков DS18B20 показывает неправильную температуру - PullRequest
0 голосов
/ 29 января 2019

У меня есть 4 датчика, и один из моих датчиков всегда показывает неправильную температуру.Это не проблема с датчиком, но это проблема с кодом, потому что я его проверил.

void getTemperature() {
  float tempC;
  float tempC3;
  float tempC2;
  float tempC4;
  do {
    DS18B20.requestTemperatures(); 
    tempC = DS18B20.getTempCByIndex(0);
    dtostrf(tempC, 2, 2, temperatureCString);
    tempC3 = DS18B20.getTempFByIndex(1);
    dtostrf(tempC3, 3, 2, temperatureCString3);
    tempC2 = DS18B20.getTempCByIndex(2);
    dtostrf(tempC2, 4, 2, temperatureCString2);
    tempC4 = DS18B20.getTempCByIndex(3);
    dtostrf(tempC4, 5, 2, temperatureCString4);
    delay(100);
  } while (tempC == 85.0 || tempC == (-127.0));
}

Отправка данных.

if (c == '\n' && blank_line) {
        getTemperature();
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: application/json");
        client.println("Connection: close");
        client.println();
        // your actual web page that displays temperature
        client.print("[");
        client.print(temperatureCString);
         client.print(",");
         client.print(temperatureCString2);
         client.print(",");
         client.print(temperatureCString3);
         client.print(",");
         client.print(temperatureCString4);
         client.print("]");

        break;
    }
    if (c == '\n') {
      // when starts reading a new line
      blank_line = true;
    }
    else if (c != '\r') {
      // when finds a character on the current line
      blank_line = false;
    }
  }
}  
// closing the client connection
delay(1);
client.stop();
Serial.println("Client disconnected.");
  }

Вот что я вижу: https://screenshots.firefox.com/IStMqTgJTI2lmLxz/192.168.0.242Когда я оставляю только один датчик, я вижу что-то вроде этого: https://screenshots.firefox.com/sSXSYmcQbDLF9mUj/192.168.0.242 Всегда 3-й (id 2) датчик показывает неправильную температуру, даже когда его там нет.У кого-нибудь есть идеи?

...