#define pinX A2
#define pinY A1
const int led1 = 11;
const int led2 = 10;
const int led3 = 9;
const int led4 = 6;
const int led5 = 5;
const int led6 = 3;
const int sel = 2;
int button1 = 0;
int button2 = 0;
int x, y;
bool selPressed;
int xSel = 0;
int ySel = 0;
int last;
int debounce(int last, int buttonNum){
int current = analogRead(buttonNum);
if(last != current){
delay(5);
current = analogRead(buttonNum);
}
return current;
}
int switchLed(int xSel){
if(xSel == 0){
analogWrite(led1, LOW);
}
if(xSel == 1){
analogWrite(led1,HIGH);
analogWrite(led2, LOW);
}
if(xSel == 2){
analogWrite(led2,HIGH);
analogWrite(led1, LOW);
analogWrite(led3, LOW);
}
if(xSel == 3){
analogWrite(led3,HIGH);
analogWrite(led2, LOW);
analogWrite(led4, LOW);
}
if(xSel == 4){
analogWrite(led4,HIGH);
analogWrite(led5, LOW);
analogWrite(led3, LOW);
}
if(xSel == 5){
analogWrite(led5,HIGH);
analogWrite(led4, LOW);
analogWrite(led6, LOW);
}
if(xSel == 6){
analogWrite(led6,HIGH);
analogWrite(led5, LOW);
analogWrite(led4, LOW);
analogWrite(led3, LOW);
analogWrite(led2, LOW);
analogWrite(led1, LOW);
}
}
void brightness(int xSel, int ySel){
int led;
if(xSel == 1){
led = led1;
}
if(xSel == 2){
led = led2;
}
if(xSel == 3){
led = led3;
}
if(xSel == 4){
led = led4;
}
if(xSel == 5){
led = led5;
}
if(xSel == 6){
led = led6;
}
analogWrite(led, ySel);
}
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(sel, INPUT_PULLUP);
digitalWrite(sel, HIGH);
pinMode(pinX, INPUT);
pinMode(pinY, INPUT);
}
void loop() {
x = debounce(last, pinX);
y = debounce(last, pinY);
selPressed = debounce(last, sel);
selPressed = digitalRead(sel) == LOW;
x = analogRead(pinX);
y = analogRead(pinY);
if((x>=1020) && (xSel!=0)){
xSel--;
}
if((x<=10) && (xSel!=6)){
xSel++;
}
if((y>=1020)&&(ySel<250)){
ySel+=10;
}
if((y<=10) && (ySel>0)){
ySel-=10;
}
if(selPressed == 1){
xSel = 6;
}
switchLed(xSel);
brightness(xSel, ySel);
delay(100);
}