jclark1245 wrote:I am trying to connect 10 push buttons as inputs. When I run the python script, it warns me that pins 2 and 3 have physical pull up resistors fitted on their channels. Does this mean I can't use them if my circuit requires pull down resistors? I have been searching and searching about using GPIOs but couldn't find this answer.
If you connect a pull-up and a pull-down on the same pin you will end up with an intermediate voltage level when there is nothing driving the pin hard. Depending on where that intermediate voltage level sits it may read high, low or results may be erratic.
You may get away with using a pull-down by using one that is much stronger (lower resistance) than the one on the pi (I wouldn't consider the 1K suggested by joan to be low enough to ensure reliable operation, unfortunately we don't have exact input specs for the pi's pins to let us calculate how much stronger the pull-down needs to be than the pull-up to override it but my rule of thumb would be that the pull-down should be 5-10 times lower resistance than the pull-up you are attempting to override). Unfortunately the low value needed will waste power and depending on what you are driving the line from may cause problems for the driver (made worse by the fact that most drivers are worse at driving high than driving low).