I am using an Arduino UNO and I am trying to vary the brightness by steps by 0.5 volts till it gets to a max of 5.0 V using buttonA and decrease the brightness of the LED by 0.5 volts with buttonB I believe that I am close the only Problem I have is that when I push buttonA the LED steps it's voltage all the way to 5.0V and with buttonB its steps down to 0. I would like to have the LED step each time I press the button not all at once. Here is my code that I have so far can someone help me with telling the Arduino to Step each time a button is pressed.
HERE is my code:
int ledPin = 9; // must be a PWM digital pin
int buttonApin = 10;
int buttonBpin = 11;
int maxBright = 255; // between 0 and 255
int ms = 300; // delay in milliseconds
int counter = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(buttonApin) == LOW)
{
if (counter >= 10)
{
counter = 10;
}
// fade from min to max in increments of 25.5 points: basically (0.5 volts)
for (float n = 0; n <= maxBright; n +=25.5)
{
// sets the value (range from 0 to 255):
analogWrite(ledPin,n);
delay(ms);
}
}
if(digitalRead(buttonBpin) == LOW)
{
if (counter <= 0)
{
counter = 0;
}
// fade from max to min in increments of 25.5 points: basically (0.5 volts)
for (float n = maxBright; n >= 0; n -= 25.5)
{
// sets the value (range from 0 to 255):
analogWrite(ledPin, n);
delay(ms);
}
}
}