Sensor de temperatura DS18B20 y Arduino
-
23-12-2019 - |
Pregunta
Actualmente estoy escribiendo este código simple para verificar el sensor 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 Obtendiendo "Sketch_Feb27A: 14: Error: 'GetTemp' no fue declarado en este ámbito"
¿Alguien puede decirme por qué?
Solución
Aquí su llamada intentando gettemp (); .Pero la función inferior no se define en el boceto en sí mismo ... Si agrega la actividad relacionada con getTemp (); debe funcionar.
float temperature = getTemp();
Otros consejos
O no ha extraído la biblioteca OneWire a la ubicación correcta, o ha cometido un error en la línea #inClude. Incluirlo sin espacios
*include<OneWire.h>
Si GetTemp () no es parte de la biblioteca OneWire, obviamente, tiene que hacer su propia función GetTemp ()
Puede usar la biblioteca de DallasMemperature.
Úsalo así:
#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 Biblioteca de DallasTemperatura Muestra.