Pergunta

Atualmente, estou escrevendo este simples código para verificar o sensor de temperatura

#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

}

Eu estou chegando "sketch_feb27a:14:erro:'getTemp' não foi declarado neste âmbito"
alguém pode me dizer por quê?

Foi útil?

Solução

Aqui sua tentativa de chamada getTemp(); .Mas abaixo a função não está definida no âmbito do próprio sketch..se você adicionar a actividade relacionada com a getTemp(); ele deve trabalhar.

float temperature = getTemp();

Outras dicas

Ou você não tiver extraído o OneWire biblioteca para o local correto, ou ter cometido um erro na linha #include.Incluem-lo sem espaços

*include<OneWire.h>

Se getTemp() não é uma parte da biblioteca OneWire então, obviamente, você tem que fazer seu próprio getTemp() função

Você pode usar DallasTemperature biblioteca.

Usá-lo assim:

#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);

Código de DallasTemperature biblioteca exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top