I want an I/O pin to return current in a circuit, similarly to the function of ground.
Which of these will achieve what I require?
pinMode(pinnumber, OUTPUT)
digitalWrite(pinnumber, LOW)
or
pinMode(pinnumber, input)
Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It only takes a minute to sign up.
Sign up to join this communityI want an I/O pin to return current in a circuit, similarly to the function of ground.
Which of these will achieve what I require?
pinMode(pinnumber, OUTPUT)
digitalWrite(pinnumber, LOW)
or
pinMode(pinnumber, input)
Your first snippet is the correct solution.
pinMode(pinnumber,OUTPUT)
digitalWrite(pinnumber,LOW)
Be careful though, you can only sink up to 6mA or 9mA per pin (as per the documentation ["Input and Output" section], I never tried more). If you need more current, use a transistor (this looks like a good example, you just need to invert the output pin to HIGH
).
When the pin is configured as input it is supposed to be high impedance, not what you want.
pinMode(pinnumber1,OUTPUT); pinMode(pinnumber2,OUTPUT); digitalWrite(pinnumber1,LOW); digitalWrite(pinnumber2,HIGH);
PS : do not try this at home, do not harm innocent arduini, do not sue me, etc...
pinMode(pinnumber,input)
is placing the pin in the "third state" of the pin, which is also called "high impedency". It's basically like if the pin was not connected to the circuit, like a ohmmeter does.