ds18b20温度传感器和arduino

时间:2014-02-27 18:03:42

标签: arduino sensor temperature

我目前正在编写这个简单的代码来检查温度传感器

#include <One Wire . h>

int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2

//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2

void setup(void) {
 Serial.begin(9600);
}

void loop(void) 
{
 float temperature = getTemp();
 Serial.println(temperature);

 delay(100); //just here to slow down the output so it is easier to read

}

我得到“sketch_feb27a:14:错误:'getTemp'未在此范围内声明”
谁能告诉我为什么?

3 个答案:

答案 0 :(得分:1)

您没有将OneWire库提取到正确的位置,或者在#include行中出错了。 包括它没有空格

*include<OneWire.h>

如果getTemp()不是库OneWire的一部分,那么显然你必须自己创建getTemp()函数

答案 1 :(得分:0)

在这里尝试调用 getTemp(); 。但是下面的函数没有在草图本身下定义..如果添加与 getTemp(); 相关的活动,它必须有效。

float temperature = getTemp();

答案 2 :(得分:0)

您可以使用DallasTemperature库。

像这样使用:

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2

OneWire dsOneWire(DS_ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature dsSensorControler(&dsOneWire);

dsSensorControler.begin();

dsSensorControler.requestTemperatures();

float temp = dsSensorControler.getTempCByIndex(0);

来自DallasTemperature library示例的代码。