A very simple but highly efficient combination lock circuit is shown in the figure. Any type of on/off switches can be used, varying from commercially available inexpensive types to more sophisticated miniswitches. The switches are assembled according to a 10-digit binary code, already decided by the user. I used a binary code of 0110100111 in my circuit.
The switches are implemented in two different ways. Those designated "Operation" are used in series (S2, S3, S5, S8, S9, and S10). These switches need to be "ON" (binary state "1") to forward-bias the transistor, energize the relay (used in normally open mode), and activate the user's solenoid system to open the lock. If any of these switches aren't set to "1," the solenoid system will not activate.
In the second method, the switches designated as "Failure" are used in parallel (S1, S4, S6, and S7). These switches must be "OFF" (binary state "0") to prevent grounding the transistor's base. Setting any of these switches to "1" grounds the transistor's base, keeping the relay inactive and the solenoid in the locked position.
The sequence of the switches can be changed to have the desired binary code. In other words, adjusting which switches are placed in series and parallel varies the "1's" and "0's" binary number. More than 1000 different combinations exist for the 10-digit binary numbers used in this circuit. However, the total number of switches can be further increased to make it more difficult to guess the combination.