#define potPin A0
int potData;
#define button 10
#define gnd1 2
#define gnd2 3
#define gnd3 4
#define gnd4 5
#define gnd5 6
#define row1 7
#define row2 8
#define row3 9
int fdelay = 50;
void setup() {
// put your setup code here, to run once:
pinMode(gnd1,OUTPUT);
pinMode(gnd2,OUTPUT);
pinMode(gnd3,OUTPUT);
pinMode(gnd4,OUTPUT);
pinMode(gnd5,OUTPUT);
pinMode(row1,OUTPUT);
pinMode(row2,OUTPUT);
pinMode(row3,OUTPUT);
pinMode(button,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
fireSelect();
idle();
while(digitalRead(button)==HIGH){
fire();
}
}
void fireSelect(){
potData=analogRead(potPin);
if (potData<205) {
onlyGnd1();
}
else if (205<potData && potData<410){
onlyGnd2();
}
else if (410<potData && potData<615){
onlyGnd3();
}
else if (615<potData && potData<820){
onlyGnd4();
}
else if (820<potData){
onlyGnd5();
}
}
void fire(){
digitalWrite(row3,LOW);
digitalWrite(row1,HIGH);
delay(fdelay);
digitalWrite(row1,LOW);
digitalWrite(row2,HIGH);
delay(fdelay);
digitalWrite(row2,LOW);
digitalWrite(row3,HIGH);
delay(fdelay);
}
void idle(){
digitalWrite(row1,HIGH);
digitalWrite(row2,LOW);
digitalWrite(row3,LOW);
}
void allGndLow(){
digitalWrite(gnd1,LOW);
digitalWrite(gnd2,LOW);
digitalWrite(gnd3,LOW);
digitalWrite(gnd4,LOW);
digitalWrite(gnd5,LOW);
}
void onlyGnd1(){
digitalWrite(gnd1,LOW);
digitalWrite(gnd2,HIGH);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd4,HIGH);
digitalWrite(gnd5,HIGH);
}
void onlyGnd2(){
digitalWrite(gnd1,HIGH);
digitalWrite(gnd2,LOW);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd4,HIGH);
digitalWrite(gnd5,HIGH);
}
void onlyGnd3(){
digitalWrite(gnd1,HIGH);
digitalWrite(gnd2,HIGH);
digitalWrite(gnd3,LOW);
digitalWrite(gnd4,HIGH);
digitalWrite(gnd5,HIGH);
}
void onlyGnd4(){
digitalWrite(gnd1,HIGH);
digitalWrite(gnd2,HIGH);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd4,LOW);
digitalWrite(gnd5,HIGH);
}
void onlyGnd5(){
digitalWrite(gnd1,HIGH);
digitalWrite(gnd2,HIGH);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd4,HIGH);
digitalWrite(gnd5,LOW);
}