arduino button problems, again
I have a problem with two buttons and a RGB LED. I want the two buttons to be pressed and then the brightness decreases/increases but it isn't working. When i press it, it decreases it but then it doesn't do it again. Any help would be appreciated. Code included below (problem is in bold) :
int button = 8;
int button_two = 7;
int redPin = 6;
int greenPin = 5;
int bluePin = 3;
int val = 0;
int val_two = 0;
int numb = 0;
int r = 0;
int g = 0;
int b = 0;
int i = 0;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(button, INPUT);
pinMode(button_two, INPUT);
Serial.begin(9600);
}
void loop() {
val = digitalRead(button);
val_two = digitalRead(button_two);
if (val == HIGH && val_two == LOW && numb < 7) {
numb++;
delay(300);
} else if (val_two == HIGH && val == LOW && numb > 1) {
numb--;
delay(300);
} else {
numb=numb;
}
if (numb == 1){
r = 255;
g = 255;
b = 255;
}
if (numb == 2){
r = 255;
g = 0;
b = 0;
}
if (numb == 3){
r = 0;
g = 255;
b = 0;
}
if (numb == 4){
r = 0;
g = 0;
b = 255;
}
if (numb == 5){
r = 255;
g = 255;
b = 0;
}
if (numb == 6){
r = 255;
g = 0;
b = 255;
}
if (numb == 7){
r = 0;
g = 255;
b = 255;
}
if (val == HIGH && val_two == HIGH) {
int r_cal = r / 5;
int g_cal = g / 5;
int b_cal = b / 5;
r = r - r_cal;
g = g - g_cal;
b = b - b_cal;
Serial.println(r);
Serial.println(g);
Serial.println(b);
delay(300);
} else {
val == LOW;
val_two == LOW;
}
analogWrite(redPin, r);
analogWrite(greenPin, g);
analogWrite(bluePin, b);
}
Discussions