D-pad LED display


hi,
i tried typing out long , detailed post, reason didn't post , lost whole thing.
my friend , in class high school experiment , learn arduinos (mechatronics) , wanted build similar http://makezine.com/2011/11/26/nes-controller-interface-for-etch-a-sketch/ before got motors wanted make "diagnostic display" illuminate led based off of button pressed. it's simple concept, having write digitalwrite() 72 times seemed bit excessive , unnecessary. figured there must way simplify code, , thought arrays way go. creating array modified within cases , @ end of loop, way digitalwrite( maxval, high) , digitalwrite(minval, low) or along lines. on right track? there other methods shortening code? i'm not looking shift registers, want solution come code if possible. included poorly done fritzing diagram show project kind of like, , visualize goal.

code: [select]
int left = 2;
int = 3;
int right = 4;
int down = 5;
int pinsetuparray [9]={6,7,8,9,10,11,12,13};
int seq = 0;
int switchleft;
int switchup;
int switchright;
int switchdown;
void setup(){
  (seq = 0; seq <9; seq ++){
    pinmode(pinsetuparray[seq],output);
  }
  //sets pins listed in pinsetuparray output
  pinmode(left, input);
  pinmode(up, input);
  pinmode(right, input);
  pinmode(down, input);
}

void loop(){
  switchleft = digitalread(left);
  switchup = digitalread(up);
  switchright = digitalread(right);
  switchdown = digitalread(down);
 
  if (switchleft == 1){
    digitalwrite(6, high);
    digitalwrite(7, low);
    digitalwrite(8, low);
    digitalwrite(9, low);
    digitalwrite(10, low);
    digitalwrite(11, low);
    digitalwrite(12, low);
    digitalwrite(13, low);
  }
  else if(switchleft ==1 && switchup ==1);{
    digitalwrite(6, low);
    digitalwrite(7, high);
    digitalwrite(8, low);
    digitalwrite(9, low);
    digitalwrite(10, low);
    digitalwrite(11, low);
    digitalwrite(12, low);
    digitalwrite(13, low);
  }
  else if(switchup == 1);{
    digitalwrite(6, low);
    digitalwrite(7, low);
    digitalwrite(8, high);
    digitalwrite(9, low);
    digitalwrite(10, low);
    digitalwrite(11, low);
    digitalwrite(12, low);
    digitalwrite(13, low);
  }
// ... , on 8 possible combinations
else {
   digitalwrite(6, low);
    digitalwrite(7, low);
    digitalwrite(8, low);
    digitalwrite(9, low);
    digitalwrite(10, low);
    digitalwrite(11, low);
    digitalwrite(12, low);
    digitalwrite(13, low);
}
}



Arduino Forum > Using Arduino > Project Guidance > D-pad LED display


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support