const int kPinPot = A0;
const int kPinLed = 9;
const int kButtonToggle = 2;
const int kButtonBrightness = 3;
int ledState = LOW;
int previousButtonStateToggle = HIGH;
int previousButtonStateBrightness = HIGH;
int ledBrightness = 0;
void setup() {
// put your setup code here, to run once:
pinMode(kPinPot, INPUT);
pinMode(kPinLed, OUTPUT);
pinMode(kButtonToggle, INPUT_PULLUP);
pinMode(kButtonBrightness, INPUT_PULLUP);
analogWrite(kPinLed, 0);
}
void loop() {
// put your main code here, to run repeatedly:
int sensorValue = analogRead(kPinPot);
int maxBrightness = map(sensorValue, 0, 1023, 0, 255);
int buttonStateToggle = digitalRead(kButtonToggle);
if (buttonStateToggle == LOW && previousButtonStateToggle == HIGH) {
ledState = !ledState;
if (ledState == HIGH) {
analogWrite(kPinLed, ledBrightness);
} else{
analogWrite(kPinLed, 0);
}
delay(200);
}
previousButtonStateToggle = buttonStateToggle;
int buttonStateBrightness = digitalRead(kButtonBrightness);
if (buttonStateBrightness == LOW && previousButtonStateBrightness == HIGH && ledState == HIGH)
{
ledBrightness = constrain(ledBrightness + 10, 0, maxBrightness);
analogWrite(kPinLed, ledBrightness);
delay(200);
}
previousButtonStateBrightness = buttonStateBrightness;
}