For LEDs, it will light them up so you can see what colour they are and how bright they are. It’s great for dual LEDs too, allowing you to test each element separately and see how it is connected.
The Tester has a 16×2 character LCD screen on a ‘shield’ that also includes six tactile pushbuttons, making it easy for us to display information and accept user input. Fig.1 shows the circuit; note the connections around the six resistors and the test header.
it’s a simple circuit, but quite powerful when combined with the digital and analog peripherals of a microcontroller.
The test header is a three-way socket or similar so it can be used to connect a three-lead device such as a transistor. Two-lead devices can plug into any two of the three locations. The Arduino Leonardo microcontroller module connects to the LCD shield through fixed headers; the LCD shield’s pinout dictated most of the remaining pin choices we have made.
Fig.2 shows a possible configuration when testing of a typical NPN transistor such as a BC548. Pin D3 is taken high, effectively connecting it to 5V and supplying the base of the transistor via a 10kO resistor. Next, pin D0 is taken low, connecting the emitter to circuit ground via 1kO. Finally, pin A2 is taken high, directly connecting the collector to 5V.
When testing an NPN transistor, this circuit is formed by setting various pins to a high or low level, or high-impedance (those pins are not shown). It can measure the voltages to determine the current through the resistors and thus different component leads.
We can then measure the voltage at the A3 and A4 analog inputs using the Leonardo’s 10-bit ADC (analog-to-digital converter) peripheral. With those voltages, we can establish that the base sits around 0.7V above the emitter and that the current through the 1kO resistor (and thus emitter) is much greater than the current through the 10kO resistor and transistor base.
From that information, we can determine that the connected device is an NPN transistor with the pinout as noted. We can also calculate its DC gain from the ratio of the emitter and base currents. This is just one set of connections that the Tester can make. The Arduino can set any pin to be an input, meaning it is in a high-impedance state; that means that it is effectively disconnected from the circuit. So we can probe individual pairs of pins in isolation, which we do to work out the potential location of PN junctions, as found in diodes or transistors.
We don’t have space to describe all the internal operations in detail, but the Tester starts by probing pairs of pins to suggest what devices might be connected based on the PN junctions present. The initial tests use only the 10k resistors, so minimal currents are applied to connected devices. The user can then press one of the buttons to run a specific test to further characterise a connected device such as a transistor, diode or LED. Table 1 has some more details on the initial and detailed tests and the buttons used to perform them.