SN7445

By Examples
void setup() {
    chipName("SN7445"); // BCD to decimal decoder
    logicFamily(TTL);
    
    pin(1, "0", OPEN_COLLECTOR);
    // Set maximum voltage for pin 1 to 30V
    maxVoltage(1, 30);
    pin(2, "1", OPEN_COLLECTOR);
    maxVoltage(2, 30);
    pin(3, "2", OPEN_COLLECTOR);
    maxVoltage(3, 30);
    pin(4, "3", OPEN_COLLECTOR);
    maxVoltage(4, 30);
    pin(5, "4", OPEN_COLLECTOR);
    maxVoltage(5, 30);
    pin(6, "5", OPEN_COLLECTOR);
    maxVoltage(6, 30);
    pin(7, "6", OPEN_COLLECTOR);
    maxVoltage(7, 30);
    pin(8, "GND", GROUND);
    pin(9, "7",OPEN_COLLECTOR);
    maxVoltage(9, 30);
    pin(10, "8", OPEN_COLLECTOR);
    maxVoltage(10, 30);
    pin(11, "9", OPEN_COLLECTOR);
    maxVoltage(11, 30);
    pin(12, "D");
    pin(13, "C");
    pin(14, "B");
    pin(15, "A");
    pin(16, "VCC", POWER);
}

void loop() {
    // Read a 4-bit binary value from pins A, B, C, and D (pins 15, 12, 11, and 10)
    int value = digitalReadNibble(15, 14, 13, 12);
    log(value);
    // Each pin corresponds to a specific output digit (0-9)
    digitalWrite(1, value != 0);
    digitalWrite(2, value != 1);
    digitalWrite(3, value != 2);
    digitalWrite(4, value != 3);
    digitalWrite(5, value != 4);
    digitalWrite(6, value != 5);
    digitalWrite(7, value != 6);
    digitalWrite(9, value != 7);
    digitalWrite(10, value != 8);
    digitalWrite(11, value != 9);
}