Arduino / ESP8266 使用 DS18B20的例程
接线:
VDD–5V
GND–GND
DQ–D7(此处为8266,Arduino连2)
注意:DQ和5V之间需要连接一个4.7k的电阻,或者用两个10k的电阻并联也实现相同的效果。
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 13//8266连接GPIO13即D7,Arduino连接port 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer, outsideThermometer;
void setup() {
Serial.begin(115200);
sensors.begin();
if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address for Device 0");
if (!sensors.getAddress(outsideThermometer, 1)) Serial.println("Unable to find address for Device 1");
}
float tempC;
//温度相关函数
void printTemperature(DeviceAddress deviceAddress)
{
tempC = sensors.getTempC(deviceAddress);
Serial.print("Temp C: ");
Serial.print(tempC);
}
void printData(DeviceAddress deviceAddress)
{
printTemperature(deviceAddress);
Serial.println();
}
void checkAlarm(DeviceAddress deviceAddress)
{
if (sensors.hasAlarm(deviceAddress))
{
printData(deviceAddress);
}
}
void loop(){
sensors.requestTemperatures();
checkAlarm(insideThermometer);
checkAlarm(outsideThermometer);
delay(300);
}
在这里插入图片描述
版权声明:本文为CSDN博主「朱圣吉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38891048/article/details/122098035
暂无评论