Back to Parent

// Exercise 2

// Define a pin that we'll place the pot on
int potPin = A5;

// Create a variable to hold the pot reading
int potReading = 0;

// Define a pin we'll place an LED on
int ledPin = D3;

// Create a variable to store the LED brightness.
int ledBrightness = 0;

// Our button wired to D3
// We wire D0 to the middle terminal on the switch
// And any of the two other terminals to ground
int switchPin = D4;

// 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;

//
void setup(){

  // Set up the LED for output
  pinMode(ledPin, OUTPUT);
  
  // sets pin as input
  pinMode(switchPin , INPUT_PULLUP); 

  // Create a cloud variable of type integer
  // called 'light' mapped to photoCellReading
  Particle.variable("pot", potReading );
  
  // Create a cloud variable of type integer
  // called 'light' mapped to photoCellReading
  Particle.variable("light", &photoCellReading, INT);
  

  
}

void loop() {
  // Use analogRead to read the photo cell reading
  // This gives us a value from 0 to 4095
  int buttonState = digitalRead( switchPin );
  photoCellReading = analogRead(photoCellPin);
  ledBrightness = map(photoCellReading, 0, 4095, 0, 255);
  
  // fade the LED to the desired brightness
  //   analogWrite(ledPin, ledBrightness);

  if( buttonState == LOW )
  {  
    
  // turn it on or off when the light reaches certain levels.
  if( photoCellReading <= 600 )
  {
    // turn the LED On
    digitalWrite( ledPin, HIGH);
      // Use analogRead to read the potentiometer reading
      // This gives us a value from 0 to 4095
      potReading = analogRead(potPin);
    
      // Map this value into the PWM range (0-255)
      // and store as the led brightness
      ledBrightness = map(potReading, 0, 4095, 0, 255);
    
      // fade the LED to the desired brightness
      analogWrite(ledPin, ledBrightness);    
    
  }else{
    // otherwise
    // turn the LED Off
    digitalWrite( ledPin, LOW);
  }
  }else{
    // otherwise
    // turn the LED Off
    digitalWrite( ledPin, LOW);
  }
}
Click to Expand

Content Rating

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

0