Is it possible to put I/O pins in open circuit?

Greatings!

I would like to know if it is possible to put a digital pin in a open circuit mode.

I need to use 16 digital pins to link them to a special type of display I made it. But in order to use one digital pin as HIGH or LOW, I need the other 15 to behave similar to an open-circuit.

Does anybody know how can I do this?

Does the internal pullup resistors do the work?

Thanks

If I'm understanding you right, then setting the pinMode() to input should make it appear as if it isn't connected.

Or at least it does in one of my circuits. :smiley:

Yes, this is the way to simulate a limited "TriState". But there are small differences, and it only works, if any voltage applied to the line stays between -0.5 and Vcc+0.5 volts. It is by no means possible to use a pull-up to 12 volts or so (in contrast to a true TriState output driver).

Thanks for the replies. I will try that. :slight_smile:

See ya :wink:

make sure to write the pin to zero too, if it is at 1 when you turn it to an input the pullup resistor will be active.

Just to be clear, the functionality you are looking for is "Tri-State." Tri-State is when a pin becomes very high impedance (effectively becoming "open"). Which, as deSilvia pointed out, is simulated in the ATmega by setting a Pin's mode to "INPUT."

More background on what Tri-stated means:

Like in may cases, wikipedia is precise, but a little bit too dry. The gentle reader might ask:"Huh, what are they talking about?"

Well, simply put, it is this:

You see the two push-pull FETs of a CMOS output, generally triggered (from the hidden left hand side) exclusively to yield either high or low. TriState "happens", when there is no activation of any of both.

However...
See those diodes? They are extremely useful for protection, but make a microcontroller pin not fully TriState...

Thanks both.

That was for useful. Finally I understood :smiley:

See ya