1
\$\begingroup\$

i need to use a GPIO pin to test whether an LED is on/off. the LED only has 2v power which is not enough for my digital input (3.3v) so i would like to use a transistor to amplify the voltage from 2v to 3.3v.

currently i have tried it with an NPN transistor and a 10k resistor on the base (no others). with this set up only 0.8 volts of the 3.3v collector voltage comes through at the emitter. the base voltage also drops from 2v to 1.6 somehow.. how would i set up the transistor as a voltage amplifier? or how else could i read these signals?

i am using a beaglebone black.

\$\endgroup\$
  • \$\begingroup\$ which transistor are you using? \$\endgroup\$ – Pedro Quadros Feb 20 '15 at 15:45
  • 2
    \$\begingroup\$ Could you give more details about the setup? The LED you'll probe is in a circuit you can change (or is it another device that you only want to hook up to)? Is the led on with a high signal (i.e., the other terminal connected to ground) or low (connected to V+)? The limiting resistor is at which side? What kind of device is supplying the output to the LED? Those things will make it easier to come up with a suitable answer. If possible, please attach a simplified schematic with names and values for the relevant components. \$\endgroup\$ – fceconel Feb 20 '15 at 15:47
  • \$\begingroup\$ im probing a circuit i cannot change, just hooking up so i know what state its in, so i dont have a shematic. the led is on with a low signal, from a UN2003LV driver. there is 2v across the LED itself when on, and it is connected to a resistor and capacitor on the positive side,then 3.3v. the driver chip is controlled by an atmel microcontroller. \$\endgroup\$ – angusjfw Feb 20 '15 at 16:44
  • \$\begingroup\$ I have been using an npn transistor marked S9014 C331. ideally i would like to probe multiple LEDs like this, using a transistor array IC. \$\endgroup\$ – angusjfw Feb 20 '15 at 16:47
  • 1
    \$\begingroup\$ I think that you would make things much easier for everybody if you would post a schematic of exactly how the LED is currently controlled. That schematic should include the voltage value that the LED is running from. \$\endgroup\$ – Dwayne Reid Feb 20 '15 at 17:01
1
\$\begingroup\$

I'd suggest to you to use a CMOS gate instead of a transistor. These are extremely versatile, have a much higher input impedance than a bipolar transistor, and can easily drive an LED or provide an output suitable for the Beaglebone or almost anything else, provided you use the right voltage. You won't need that resistor the transistor requires, and the gate won't make a noticeable change in the original circuit.

Since your LED is driven by a low output, an inverter would be a good choice. You can use a specific IC with 1 inverter (somewhat hard to find), 6 inverters (easier), among other options. Or, to make it easier, the CD4001 (4 NOR gates) and CD 4011 (4 NAND) are cheap and available everywhere. Just connect both inputs of a gate to make it an inverter.

\$\endgroup\$
  • \$\begingroup\$ so if i use a CD4001 and power VDD with 3.3v, then the NOR gates will output 3.3v high? and 1v input is enough to make them output a low? or how much is minimum input voltage? \$\endgroup\$ – angusjfw Feb 20 '15 at 18:54
  • \$\begingroup\$ There are two variants in production, the CD4001B and the CD4001UB, the first will have the threshold in 1.6V and the other at 1.1V when powered by 3.3V. But notice that for the circuit you described you don't want to detect a high, but a low. If when the LED is powered, the signal is low and when it is not the signal is high (as you mentioned in your comments), then you need the gate to recognize 1V as low (which both will do), and therefore output a high, thus giving you 1 when the LED is on and 0 when it is not. \$\endgroup\$ – fceconel Feb 20 '15 at 21:57
  • \$\begingroup\$ I'm assuming I understood correctly wath you said (and guessed correctly what you didn't), but as @Dwayne Reid suggested, it'd be helpful to add a simple schematic to make sure we are at the same page. \$\endgroup\$ – fceconel Feb 20 '15 at 22:02
  • \$\begingroup\$ CD4001 has done the job. thanks very much, great suggestion given my poor explanation. \$\endgroup\$ – angusjfw Feb 22 '15 at 14:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.