int inputPins[8] = {A0,A1,A2,A3,A4,A5,2,3};
int outputPins[10] = {4,5,6,7,8,9,10,11,12,13};
void setup(){
Serial.begin(9600);
for(int derp=0; derp<8; derp++){
pinMode(inputPins[derp], INPUT);
}
for(int durp=0; durp<11; durp++){
pinMode(outputPins[durp], OUTPUT);
}
}
void loop(){
output(getbcd(getinput()));
}
int getinput(){
int output = 0;
output += digitalRead(inputPins[0])*1;
output += digitalRead(inputPins[1])*2;
output += digitalRead(inputPins[2])*4;
output += digitalRead(inputPins[3])*8;
output += digitalRead(inputPins[4])*16;
output += digitalRead(inputPins[5])*32;
output += digitalRead(inputPins[6])*64;
output += digitalRead(inputPins[7])*128;
return output;
}
int getbcd(int input){
int bcd = 0;
int n1 = floor(input/100);
int n2 = floor((input-n1*100)/10);
int n3 = input-n1*100-n2*10;
bcd = n3 + (n2 << 4) + (n1 << 8);
return bcd;
}
void output(int bcdint){
for(int llama=0; llama<11; llama++){
digitalWrite(outputPins[llama], (bcdint&1<<llama?HIGH:LOW));
}
}