首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ds18b20温度传感器与arduino

ds18b20温度传感器与arduino
EN

Stack Overflow用户
提问于 2014-02-27 18:03:42
回答 3查看 2.9K关注 0票数 0

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

代码语言:javascript
复制
#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: error:'getTemp‘没有在这个范围内声明“

谁能告诉我原因吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-28 09:37:38

在这里,您尝试调用getTemp();。但是下面的函数不是在草图itself..if下定义的,您可以添加与getTemp()相关的活动;,它必须工作。

代码语言:javascript
复制
float temperature = getTemp();
票数 1
EN

Stack Overflow用户

发布于 2014-02-28 07:14:25

或者您没有将OneWire库解压缩到正确的位置,或者在#include行中犯了错误。包括它没有空格

代码语言:javascript
复制
*include<OneWire.h>

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

票数 1
EN

Stack Overflow用户

发布于 2014-08-13 19:04:03

您可以使用DallasTemperature库。

像这样使用它:

代码语言:javascript
复制
#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库示例中的代码。

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

https://stackoverflow.com/questions/22076683

复制
相关文章

相似问题

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