DS18B20 Датчик температуры и Arduino
-
23-12-2019 - |
Вопрос
Я в настоящее время пишу этот простой код для проверки датчика 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' не объявлен в этом объеме"
Может кто-нибудь сказать мне, почему?
Решение
Вот ваш попыток звонить
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 образец.