I am trying to do a project where I need to control brightness of an LED with two buttons.
One button will be “Brighter”. One button will be “Dimmer”.
The LED will brighten or dim when a button is pushed then hold its value when the button is released.
If the LED reaches either limit (either 0 or 255) it will hold that value until the other button is pressed to steer it into the other direction.
At initial power up the LED is zero.
I found this code on line and uploaded it and tested it. It goes through the full range of bright and dim repeatedly but I would like to modify it to remove the auto feature, add a second switch and accomplish the above requirements. Obviously I am new to Arduino and programming. Any help would be appreciated.
int led = 9; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// the setup routine runs once when you press reset:
void setup() {
// declare pin 9 to be an output:
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// set the brightness of pin 9:
analogWrite(led, brightness);
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;
// reverse the direction of the fading at the ends of the fade:
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
// wait for 30 milliseconds to see the dimming effect
delay(30);
}