Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement