Back to Parent

// Define a pin that we'll place the photo cell on
// Remember to add a 10K Ohm pull-down resistor too.
int photoCellPin = A0;
// Create a variable to hold the light reading
int photoCellReading = 0;
// Define a pin we'll place an LED on
int ledPin = D2;
// Create a variable to store the LED brightness.
int ledBrightness = 0;
// Define a pin that we'll place the pot on
int potPin = A5;
// Create a variable to hold the pot reading
int potReading = 0;

void setup(){
 // Set up the LED for output
  pinMode(ledPin, OUTPUT);
  // Create a cloud variable of type integer
  // called 'light' mapped to photoCellReading
  Particle.variable("light", &photoCellReading, INT);
  // Create a cloud variable of type integer
  // called 'light' mapped to photoCellReading
  Particle.variable("pot", potReading );
}

void loop() {
// Use analogRead to read the photo cell reading
 // This gives us a value from 0 to 4095
  photoCellReading = analogRead(photoCellPin);
   // Use analogRead to read the potentiometer reading
  // This gives us a value from 0 to 4095
  potReading = analogRead(potPin);
  
  // Turn the light off when there's enough natural light; when light is on, can control strength
if( photoCellReading < 2500 ){
    digitalWrite( ledPin, HIGH);
    //   Map lightness into the PWM range (0-255)
    ledBrightness = map(potReading, 0, 4095, 0, 255);
  // fade the LED to the desired brightness
    analogWrite(ledPin, ledBrightness);
}else{
    digitalWrite( ledPin, LOW);
    }
//   wait 1/10th of a second and then loop
  delay(100);
}
Click to Expand

Content Rating

Is this a good/useful/informative piece of content to include in the project? Have your say!

0