Вопрос

Я в настоящее время пишу этот простой код для проверки датчика TEMP

#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 m Получение "sketch_feb27a: 14: Ошибка: 'getTemp' не объявлен в этом объеме"

Может кто-нибудь сказать мне, почему?

Это было полезно?

Решение

Вот ваш попыток звонить GetTemp (); .Но ниже функции не определяется в самом эскизе .. Если вы добавляете активность, связанную с getTemp (); это должно работать.

float temperature = getTemp();
.

Другие советы

Либо вы не извлекли библиотеку Onewire в правильное местоположение, либо допустили ошибку в линии #include. Включите его без пробелов

*include<OneWire.h>
.

Если getTemp () не является частью библиотеки Onewire, то, очевидно, вы должны сделать свою собственную функцию getTemp ()

Вы можете использовать библиотеку DALLASTEMPRATE.

Используйте это так:

#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 образец.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top