Back to Parent

// Define a pin that we'll place the pot on
int sensorPin = A0;

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

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

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

// Switch is wired to D3
int switchPin = D6;

//
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("sensor", sensorReading);
  
  // Define switch as an input-pullup
  pinMode(switchPin, INPUT_PULLUP);
}

void loop() {
    
   // find out if the button is pushed
   // or not by reading from it.
   int buttonState = digitalRead( switchPin );

  if ( buttonState == LOW ) {
    // turn the LED On and control brightness with potentiometer
        digitalWrite( ledPin, HIGH);
         // Use analogRead to read the potentiometer reading
         // This gives us a value from 0 to 4095
        sensorReading = analogRead(sensorPin);
        
        // Map this value into the PWM range (0-255)
        // and store as the led brightness
        ledBrightness = map(sensorReading, 0, 4095, 0, 255);
        
        // fade the LED to the desired brightness
        analogWrite(ledPin, ledBrightness);
        
        // wait 1/10th of a second and then loop
        delay(100);
        
    }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