Let's Make Robots!

Need A Bit Of Transistor Help...

Okay... I'm going to try to explain this the best I can...

I'm working on bypassing some switches in an RC remote, SPST switches I'm told. (See this thread for info about the switch http://letsmakerobots.com/node/17951

I've got two wires soldered to the switch, and when I touch them together, the RC car goes forward as planned.

Now, what I want to do is use a transistor (I have both NPN and PNP) to automate the "touching of the wires" via my Arduino.

Problem is... If I use an NPN I know how to send a positive signal down the base (set pin to HIGH) but the negative leads don't get a negative charge from the switch... at least I don't think so.

If I use a PNP, which I think I should be, I don't know how to send a negative signal down through the pin, if that's even possible.

I hope I've made this understandable enough.

If you know anything that could help me... I'd greatly appreciate it. 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

There aren't any on the diagram, but did you use any base resistor in the actual circuit? You may need a base resistor to stop your transistor from wasting power, and potentially overheating. The first thing you should probably do if get out your multimeter and measure the voltage across the switch when it's open.

Not yet, I have it all breadboarded right now (well, halfway taken apart to reorganize it now) so I'll be adding those in. My problem is though, how do I know what value I need in my resistor...


Ohm's law.... I do believe that's what I need here.

If the emitter is connected to V+ (for PNP) or ground (for NPN), then the resistor calculation I normally use for switching transistors is:
Base Resistance = [(V+)-(VbeSAT)]/[(IcMAX)/(hfeMIN)]     ...it doesn't look like it at first glance, but that's still Ohm's Law =D
• V+ = supply/high voltage
• VbeSAT = the transistor's base-emitter saturation voltage
• IcMAX = maximum collector current the transistor can handle
• hfeMIN = the transistor's minimum DC current gain
All of the transistor-based values above can be obtained from the datasheet, although some of them may have multiple values, in which case they'll specify what conditions those values are for so you can just pick the appropriate ones.

Yeah - Chris - that did the trick.

I switched to a PNP transistor, and when I set the digital pin to LOW, it moves forward. I'm quite excited now... first movement I've had anything do with my Arduino... Now to just set up the rest :) 

Oh... I could actually just power the remote via my Arduino instead of with batteries, that would give everything a common ground easily. I'll try that.

At the moment, I do believe I have it all soldered up correctly, I've got one wire on + and the other on -. When I touch the wires together, everything goes fine... Which makes the fault somewhere in how I'm hooking up the transistor.

You say that I need a common ground between my Arduino and the circuit board... I'm not 100% sure how I would connect the two. I'll Google a bit on that though. 

The last remote I hacked used negative buttons... I was able to simply follow the traces on the remote's board and find which half of the button was the ground side. From there, you just have to connect the emitter to the ground (the pointy-out arrow) and  the collector to the other side of the button. If you are clicking the transistor with a microcontroller, be sure that the remote and the pic share a ground. If for some reason one side of your button is not a ground, you are going to have to talk to one of the more geeky geeks around here.