Go Down

Topic: pull up resistors and pull down resistors.. (Read 1 time) previous topic - next topic


Do anybody have sound knowledge ?can even help me with some good links.. :smiley-mr-green:


"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.


I volt this one http://www.thebox.myzen.co.uk/Tutorial/Inputs.html  It has real " sound knowledge"

Nice site Mike


Do anybody have sound knowledge ?

Very simple: they are there to "fix" the bus to a default logic / voltage level, and the fix can be easily overwhelmed by an output.


Quote from: dhenry link=topic=141722.msg1064266#msg1064266

Very simple: they are there to "fix" the bus to a default logic / voltage level, and the fix can be easily overwhelmed by an output.

but not so easily flipped/overwhelmed by random noise :)
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter


Here's how i Think of it...

Your job is to look at a stream, if it's flowing with water, it's "on" or "1", if it's dry or very little water, it's "off" or "0"

So just precisely do you put down if it's neither of these 2 states? if it's flowing slowly and only a little water?   0 or 1?

well that's the problem at the reviving end.

the idea of the pull up, is to keep that stream always constantly flowing so that the detector can see a high signal.
the idea of the pull down, to keep the voltage at 0, to keep it from flowing, so the detector can clearly see (detector being you i might add in this analogy) the flow of water.

Without the resistors, it will float in between neither high voltage (5v) or low voltage (0v) the resistor just allows the detector to do it's job properly without false readings.


Many beginners to electronics/arduino/microcontrollers do seem to struggle with the why for the need of pullup/pulldown resistors as used for arduino digital input pins. I think the basic problem is that in the software/logic world a signal is either a 1 or a 0, there is no other valid input state, but in the real world of electronics a digital input pin on a arduino, with nothing wired to it, does not know if it should be a 0 or a 1. It must therefore be wired such that in all cases at all time (like when a button is both being pressed and not being pressed) that there is always an electrical path to a voltage that is either 0 volts DC or +5vdc DC. A no connection is not a zero voltage, rather the input pin is just floating around in the world of the undefined.



In the old days of TTL logic an unconnected input floated high and pull ups were used as part of good design practice.
The down side was that pulling down needed a very low resistor about 330R was the biggest that would work.
Now with CMOS that doesn't happen and you NEED to use pull ups. But pull downs can be in the order of 10K and still be effective.


Go Up