|68||Educational Smart Breadboard
Mostafa Elkabir (Elkabir2)
When kids or even college students first learn circuits, they almost always meet with breadboards. But anyone having used breadboards would find them very hard to debug. There is no good way to check whether wires and gates are working properly, and if there are too many wires in the breadboard - both in case there are actual visible wires or programmed wires - it is hard to see where wire connections are messed up.
We would like make debugging easier for educational uses of breadboards, so that students can focus on crucial debugging skills and circuit logic than pain of going through wires.
One way we could make things easier is by having each row of pins of same voltage LED-lighted with some color, with any row that connects to a row assigned the same color. This allows for visual cues to understand how the circuit operates - also, in case wire is broken, it allows us to see the effect of this broken wire.
The second way to help students is by having each pin display output values in a small LED light illuminating at the bottom of the user breadboard. One can though extend this idea so that the right side of a mini-screen actually prints logic function for an output pin of the main inputs of the circuit, with labels assigned by user instructions. (an example of logic function is f = AB+not(BC), where A and B and C are main inputs of the circuit, and f is the output of some output pin of the breadboard we are examining.) This requires individual chip testing based on user-given information regarding which pin is input and which pin is output.
Chip testing is done by having a relay/switch between an actual pin and a wire/user-side breadboard, with switch being turned off when the processor is testing chips. We basically test all possible configurations for input pins to generate function/truth tables for each output pin, which allows the processor to write down the logic function of chip's input pins for output pins.
On the left side of a mini-screen, we print the logic function for each chip based on chip inputs, not main inputs of the circuit. This allows students to use the mini-screen to see what the individual gate does regardless of wiring connections on its (screen) left side, and what gate's output pins should logically evaluate to, based on main inputs of the circuit on its right side.
Because of size limitation of the breadboard, we have to pick which pin we wish to print out to the mini-screen. Thus a user has to provide which pin they wish to see.
The third way is to protecting students from high-voltage and high-current scenarios that can burn the breadboard and can hurt them. This is done by relays that cut-off the connection and the wire of the breadboard in such circumstances.
The fourth way is to alert users of the case that two different voltage sources are connected to the same voltage line to another mini-screen. This can be done easily, as the processor has access to voltage of pins, so in case different voltages connecting to each pin is detected, the processor can cut off a connection that puts together two pins in the same voltage line.
The processor will be either Arduino or Raspberry pi, and the processor is connected to every pin minus redundant pins that share the same voltage, so that it gets relevant information. The connections are done at the bottom of the user breadboard, so that the processing unit does not clutter with the user interface.