Changing brightness of LED in a switch circuit

Hey guys!

I’m trying to pretty much make a light that turns on with a button, and then when it’s on, you can change the brightness using a potentiometer. Should be simple, right? I’ve got it sort of up and running, but it’s only changing the brightness when you press the button, as opposed to changing continuously after the button has been pressed, and until it gets pressed again. Any clues as to what I’m doing wrong? Popped my code beneath. I’ve Frankensteined it together from various sources, but it seems like it’s close? Would love some help, thank you :).

int inPin = 2; //button pin

const int analogInPin = A0; // Analog input pin that the potentiometer is attached to

const int analogOutPin = 9; // Analog output pin that the LED is attached to

int state = HIGH;

int reading;

int previous = LOW;

long time = 0;

long debounce = 200;

int sensorValue = 0; // value read from the pot

int outputValue = 0; // value output to the PWM (analog out)

void setup() {

// initialize serial communications at 9600 bps:

Serial.begin(9600);

pinMode (inPin, INPUT);

}

void loop() {

reading = digitalRead (inPin); //find out what the button is up to

outputValue = map(sensorValue, 0, 1023, 0, 255); //mapping analog range to what can be output.

if (reading == HIGH && previous == LOW && millis() - time > debounce) {

sensorValue = analogRead(analogInPin); //reading pot value, and storing it in ‘sensorValue’.

analogWrite(analogOutPin, outputValue); //assign pot value to LED.

// print the results to the serial monitor:

Serial.print("sensor = " );

Serial.print(sensorValue);

Serial.print("\t output = ");

Serial.println(outputValue);

// wait 2 milliseconds before the next loop

// for the analog-to-digital converter to settle

// after the last reading:

delay(2);

time = millis();

}

previous = reading;

}

use an “if else” or “select case”.

If the button is on, read potentiameter and adjust led digital write.

else

do nothing.

Example

switch (var) {

case 1:

//do something when var equals 1

break;

case 2:

//do something when var equals 2

break;

default:

// if nothing else matches, do the default

// default is optional

}

Syntax

switch (var) {

case label:

// statements

break;

case label:

// statements

break;

default:

// statements

}