// Define the Pin the Temperature sensor is on
int tempPin = A0;
// Create a variable that will store the temperature value
double temperature = 0.0;
double temperatureF = 0.0;
// Define a pin that we'll place the photo cell on
// Remember to add a 10K Ohm pull-down resistor too.
int photoCellPin = A1;
// Create a variable to hold the light reading
int photoCellReading = 0;
// Define a pin we'll place an LED on
int ledPin = D0;
// Create a variable to store the LED brightness.
int ledBrightness = 0;
void setup()
{
// Register a Spark variable here
Spark.variable("temperature", &temperature, DOUBLE);
Spark.variable("temperatureF", &temperatureF, DOUBLE);
// Connect the temperature sensor to A0 and configure it
// to be an input
pinMode(tempPin, INPUT);
// Set up the LED for output
pinMode(ledPin, OUTPUT);
// Create a cloud variable of type integer
// called 'light' mapped to photoCellReading
Spark.variable("light", &photoCellReading, INT);
// Create a cloud variable of type integer
// called 'temp' mapped to temperatureF
Spark.variable("temp", &temperatureF, DOUBLE);
}
void loop()
{
// Keep reading the sensor value so when we make an API
// call to read its value, we have the latest one
int reading = analogRead(tempPin);
// The returned value from the Core is going to be in the range from 0 to 4095
// Calculate the voltage from the sensor reading
double voltage = (reading * 3.3) / 4095.0;
// Calculate the temperature and update our static variable
temperature = (voltage - 0.5) * 100;
// Now convert to Farenheight
temperatureF = ((temperature * 9.0) / 5.0) + 32.0;
// Use analogRead to read the photo cell reading
// This gives us a value from 0 to 4095
photoCellReading = analogRead(photoCellPin);
// Map this value into the PWM range (0-255)
// and store as the led brightness
//ledBrightness = map(photoCellReading, 0, 4095, 0, 255);
// fade the LED to the desired brightness
//analogWrite(ledPin, ledBrightness);
//blink if cloud variables "light" and "temp" have logical values
if (photoCellReading >= 0 and photoCellReading <= 4095 and temperature > 0 and temperature < 100 )
// First... On
digitalWrite(ledPin, HIGH); // Turn ON the LED pins
delay(1000); // Wait for 1000mS = 1 second
// Now... Off
digitalWrite(ledPin, LOW); // Turn OFF the LED pins
delay(1000); // Wait for 1000mS = 1 second
// rinse + repeat
// wait one second and then loop
delay(1000);
}
Click to Expand
Content Rating
Is this a good/useful/informative piece of content to include in the project? Have your say!
You must login before you can post a comment. .