Hey all,I've been looking around the internet for a general purpose normally-closed transistor to sink the reset pin to ground on the Arduino, and thus open the connection (activating the ATMEGA chip) when a small positive voltage is applied to the base of the transistor.Your terminology is kind of strange. Transistor are never said to be normally open or normally closed. They can be used in circuits such that they can be switched between conduction or not conducting. Any NPN transistor can be used to control the reset pin on a arduinoI've looked into the 2N3906 but it cannot behave as a sink, only a source.A 2N3904 is a NPN that would work, pulling the reset pin low when base current is supplied to the transistor. Wire the emitter to ground, the collector to the reset pin and wire the base to a properly sized resistor to a positive voltage when you want the transistor to turn on and pull the reset pin low.Does anyone know of a transistor of this type?Thanks a lot!Aakash
Does anyone know of a transistor of this type?
Hey all,Thanks for the replies. I think I might have stated my purpose incorrectly (or I'm understanding what you said wrong) I have two Arduinos, one is a "master" in a sense, the other a "slave". I would like the slave Arduino's ATMEGA chip to be inactive initially, even though it is on the same power supply as the master. My plan to activate the slave Arduino is to connect the transistor partially in the way that retrolefty has described (with emitter to GND and collector to the reset pin), but the base would be connected to an output on the master Arduino and activated by code when needed. In other words, I would like the slave Arduino to remain inactive, even though it is powered, until activated by the master. The way I understood your post, retrolefty, was to have the base connected to a positive voltage constantly through a resistor, bringing reset pin to a low state. However, I am not sure how to bring it back from that state using the master Arduino. That would work fine. Wire an output pin from the master arduino through a series 500 ohm resistor to the base of the NPN transistor on the slave arduino. Also be sure there is a shared ground wire run between the master and slave boards. So when the master outputs a HIGH on the digital output pin the slave will be forced into reset state and stay there until you output a LOW on the digital output pin.LeftyAny suggestions are welcome!Thanks again,Aakash
retrolefty,Thanks for that. The thing is that the master has a modified bootloader (based on the original, but waits longer for serial programmers) on it that takes much longer to load through than the slave. So this will result in the slave booting up completely before the master has time to bring reset to HIGH or LOW. Using your suggestion of a 500 Ohm resistor in series with the base line on the transistor and an output pin on the master, what state will the reset pin be in while the master is in the bootloader?AakashEDIT: I'm trying to prevent the slave from booting at all until the master gives it the go.
what state will the reset pin be in while the master is in the bootloader?
Quotewhat state will the reset pin be in while the master is in the bootloader?It is in an unknown state, unless you have access to the bootloader's source code.A better approach is to run the slave free, but wait for a hand-shake signal from the master.