我在使用esp32和达拉斯ds18B20温度传感器时遇到了一些问题,因为我无法从它们中得到读数。
esp32是一款DOIT ESP32 devkit v1,传感器是穿过孔的标准型号和/或有1-1.5米电缆的传感器,而且是水密的。
我怀疑这是esp32的库问题,因为与arduino uno,mini等相同的libs工作很好。电缆连接已经检查了很多次。我使用了在arduino IDE中安装的以下库:
作者Paul诉2.3.6 (https://www.pjrc.com/teensy/td_libs_OneWire.html)
有人能给我指出一套成功的图书馆吗?
编辑:这里有一个类似的问题:ESP32: dsb1820 temperature sensor giving constant negative 127 reading,但我不认为它已经解决了。
以下是我的包含和引脚定义:
/************************* Dallas Temperature probes ********************************/
#include <OneWire.h>
#include <DallasTemperature.h>
const int oneWireBus = 26; // GPIO5 in esp32
const int TEMPERATURE_PRECISION = 12; //12bit precision 0.01 steps电阻和设置是相同的。
发布于 2021-12-27 23:02:52
我不知道为什么26岁。尝试:
const int oneWireBus = 5; // GPIO5 in esp32完整代码:
#include <OneWire.h>
#include <DallasTemperature.h>
const int oneWireBus = 5; // GPIO5 in esp32
const int TEMPERATURE_PRECISION = 12; //12bit precision 0.01 steps
OneWire onewire(oneWireBus);
DallasTemperature sensors(&onewire);
void setup(){
Serial.begin(9600);
sensors.begin();
}
void loop(){
sensors.requestTemperatures();
temperature = sensors.getTempCByIndex(0);
Serial.println(temperature);
}https://stackoverflow.com/questions/70441795
复制相似问题