-
Device & model Arduino Uno with W5100 ethernet shield
-
What dashboard are you using? Web
I am trying to set a simple temperature sensor, following exactly the instructions of the tutorial, but, any try, return the same problem…the dashboard sensor is marking a temperature of 90 C degrees while the real one is 30 ( measured on the head of the TMP36 sensor with a laser thermometre…
when I put one finger on the sensor, the temperature on the dash is rising, and when I remove the finger the temperature return to the original 90 C degrees… it looks like it is an issue of parametres…where do I have to change some number?..
many thanks for your help
Code:
#define CAYENNE_PRINT Serial // Comment this out to disable prints and save space
#include <CayenneTemperature.h>
// If you're not using the Ethernet W5100 shield, change this to match your connection type. See Communications examples.
#include <CayenneEthernet.h>
// Cayenne authentication token. This should be obtained from the Cayenne Dashboard.
char token[] = "gmm9dtoz0j";
// Virtual Pin of the TMP36 widget.
#define VIRTUAL_PIN V1
// Analog pin the TMP36 is connected to.
const int tmpPin = 0;
// Voltage to the TMP36. For 3v3 Arduinos use 3.3.
const float voltage = 5.0;
TMP36 tmpSensor(tmpPin, voltage);
void setup()
{
Serial.begin(9600);
Cayenne.begin(token);
}
void loop()
{
Cayenne.run();
}
// This function is called when the Cayenne widget requests data for the Virtual Pin.
CAYENNE_OUT(VIRTUAL_PIN)
{
// This command writes the temperature in Celsius to the Virtual Pin.
Cayenne.celsiusWrite(VIRTUAL_PIN, tmpSensor.getCelsius());
// To send the temperature in Fahrenheit or Kelvin use the corresponding code below.
//Cayenne.fahrenheitWrite(VIRTUAL_PIN, tmpSensor.getFahrenheit());
//Cayenne.kelvinWrite(VIRTUAL_PIN, tmpSensor.getKelvin());
}