質問

現在この簡単なコードを書いているTemp Sensor

を確認しています
#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

}
.

i getting "sketch_feb27a:14:エラー: 'gettemp'はこのスコープで宣言されていません"
誰かがなぜ私に言うことができますか?

役に立ちましたか?

解決

ここにあなたの試してみて gettemp(); 。しかし、関数はスケッチ自体の下で定義されていません。 gettemp()に関連するアクティビティを追加します。働く必要があります。

float temperature = getTemp();
.

他のヒント

OneWire Libraryを正しい場所に抽出していないか、または#include行に間違えたものです。 スペースなしでそれを含める

*include<OneWire.h>
.

GetTemp()がLibrary OnWireの一部ではない場合は、明らかにあなた自身のgettemp()関数を作る必要があります

DallastEmperature Libraryを使用できます。

このように使用してください:

#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 サンプル

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top