int center = 512;
int pins[] = {11, 10, 9, 6, 5, 3};
int size = 6;
int activePin = 0;
int bright = 0;
void setup() {
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, INPUT_PULLUP); // Click
pinMode(A0, INPUT); // Vertical
pinMode(A1, INPUT); // Horizontal
}
void Reset(){
static unsigned long timer;
if ((timer + 50) > millis()) return 0;
if(digitalRead(2) == LOW){
Serial.println(digitalRead(2));
activePin = 0;
bright = 250;
}
timer = millis();
}
void Move(){
static unsigned long timer;
if ((timer + 100) > millis()) return 0;
if(analogRead(A1) < center && activePin < 6){
activePin++;
}
else if(analogRead(A1) > center && activePin > 0){
activePin--;
}
timer = millis();
}
void Brightness(){
static unsigned long timer;
if ((timer + 100) > millis()) return 0;
if(analogRead(A0) > center && bright < 250){
bright += 10;
}
else if(analogRead(A0) < center && bright > 0){
bright -= 10;
}
timer = millis();
}
void loop() {
for(int i = 0; i < size; i++){
if(i == activePin){
analogWrite(pins[i], bright);
}
else{
analogWrite(pins[i], 0);
}
}
Reset();
Move();
Brightness();
}