// Adder outputs const int S0 = A0; const int S1 = A1; const int S2 = A2; const int S3 = A3; const int C4 = A4; // Units 7447 const int unitsA = 3; const int unitsB = 6; const int unitsC = 5; const int unitsD = 4; // Tens 7447 const int tensA = 8; const int tensB = 11; const int tensC = 10; const int tensD = 9; void setup() { pinMode(S0, INPUT); pinMode(S1, INPUT); pinMode(S2, INPUT); pinMode(S3, INPUT); pinMode(C4, INPUT); pinMode(unitsA, OUTPUT); pinMode(unitsB, OUTPUT); pinMode(unitsC, OUTPUT); pinMode(unitsD, OUTPUT); pinMode(tensA, OUTPUT); pinMode(tensB, OUTPUT); pinMode(tensC, OUTPUT); pinMode(tensD, OUTPUT); } void loop() { // Read adder output bits int s0 = digitalRead(S0); int s1 = digitalRead(S1); int s2 = digitalRead(S2); int s3 = digitalRead(S3); int c4 = digitalRead(C4); // Convert 5-bit binary to decimal (0-30) int sum = (c4 << 4) | (s3 << 3) | (s2 << 2) | (s1 << 1) | s0; int tens = sum / 10; int units = sum % 10; // Units digit digitalWrite(unitsA, units & 1); digitalWrite(unitsB, (units >> 1) & 1); digitalWrite(unitsC, (units >> 2) & 1); digitalWrite(unitsD, (units >> 3) & 1); // Tens digit digitalWrite(tensA, tens & 1); digitalWrite(tensB, (tens >> 1) & 1); digitalWrite(tensC, (tens >> 2) & 1); digitalWrite(tensD, (tens >> 3) & 1); }