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)
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.