Упростить скрипт без одномерного массива
#define red 3
#define blue 2
#define green 1
#define buttonRed 7
#define buttonBlue 6
#define buttonGreen 5
byte n[3]= {0, 128, 255};
int r = 0;
int g = 0;
int b = 0;
void setup()
{
pinMode(red, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(green, OUTPUT);
pinMode(buttonRed, INPUT);
pinMode(buttonBlue, INPUT);
pinMode(buttonGreen, INPUT);
}
void loop()
{
if (digitalRead(buttonRed) == HIGH)
{
analogWrite(red,n[r]);
r+=1;
if (r > 2)
r = 0;
delay(300);
}
if (digitalRead(buttonGreen) == HIGH)
{
analogWrite(green,n[g]);
g+=1;
if (g > 2)
g = 0;
delay(300);
}
if (digitalRead(buttonBlue) == HIGH)
{
analogWrite(blue,n[b]);
b+=1;
if (b > 2)
b = 0;
delay(300);
}
}