Arduino I/O Pins Unstable

Thread Starter

hudoeng

Joined Nov 27, 2014
4
I'm working on an Arduino Uno project that requires 6 digital I/O pins. I've been experiencing problem with false "HIGH" readings during testing. I've narrowed down the problem to the digital I/O pins being unstable.

The pins will read as "HIGH" when touched by hand or when near other electronic components (ie. the jumper wires on my prototyping breadboard).

Now, it will not be handled during it's actual application but it will be in the same enclosure as a 9V battery and I'm uneasy about the false readings.

Has anyone ever experience this issue with an Arduino board? If so, what steps did you take to work around it?
 

Thread Starter

hudoeng

Joined Nov 27, 2014
4
What's confusing about the post? The Arduino pins that I've programmed as digital inputs are detecting input when the Arduino board is touched by hand or when the pins are near current carrying wires on my prototyping board. No digital "HIGH" input at these pins should be present at that time. It seems like some type of interference.
 

djsfantasi

Joined Apr 11, 2010
9,163
What's confusing about the post? The Arduino pins that I've programmed as digital inputs are detecting input when the Arduino board is touched by hand or when the pins are near current carrying wires on my prototyping board. No digital "HIGH" input at these pins should be present at that time. It seems like some type of interference.
To what are these pins connected? If they are floating, then the behavior you describe is not unexpected. They must be connected to either a high or low signal at all times. In a simple example, a pin connected to a SPST switch connected to ground must also be connected to a pull up resistor.
 

Jeremy Adair

Joined Nov 27, 2014
5
I'm working on an Arduino Uno project that requires 6 digital I/O pins. I've been experiencing problem with false "HIGH" readings during testing. I've narrowed down the problem to the digital I/O pins being unstable.

The pins will read as "HIGH" when touched by hand or when near other electronic components (ie. the jumper wires on my prototyping breadboard).

Now, it will not be handled during it's actual application but it will be in the same enclosure as a 9V battery and I'm uneasy about the false readings.

Has anyone ever experience this issue with an Arduino board? If so, what steps did you take to work around it?
If this is happening on input pins with open switches or transistors you need to look up pull up resistor. The arduino has internal pull up resistors that you can an enable in code read this.https://learn.sparkfun.com/tutorials/pull-up-resistors
 

Jeremy Adair

Joined Nov 27, 2014
5
Now pull up resistors are confusing at first. You may think all of the voltage will drop on the 10k pull up so how will it make the input pin high? Keep in mind that the input has a very high input resistance(impedance). So what you have is a series circuit of 5v ---10kohm---1Mohm---0v. 90% of the voltage drops on the internal input impedance not the 10k resistor. You can also use a pull down resistor to reverse the logic at the input (the input will give you a 0 instead of 1 or vice versa but the pull up will be positive logic)
 
Last edited:

Thread Starter

hudoeng

Joined Nov 27, 2014
4
I should have been more specific. Pushbuttons are connected to the digital input pins (these are definitely wired correctly), and when pressed the input pin should detect a high voltage. I have the pushbuttons wired with a pull-down resistor but I did not pull down the input pin. I see where the issue is now. Thank you for the insight everyone.
 

takao21203

Joined Apr 28, 2012
3,702
I should have been more specific. Pushbuttons are connected to the digital input pins (these are definitely wired correctly), and when pressed the input pin should detect a high voltage. I have the pushbuttons wired with a pull-down resistor but I did not pull down the input pin. I see where the issue is now. Thank you for the insight everyone.
Often a pullup resistor is used, and the pushbutton would short that to ground.
Some controllers have internal pullup resistors.
 

kubeek

Joined Sep 20, 2005
5,795
I should have been more specific. Pushbuttons are connected to the digital input pins (these are definitely wired correctly), and when pressed the input pin should detect a high voltage. I have the pushbuttons wired with a pull-down resistor but I did not pull down the input pin. I see where the issue is now. Thank you for the insight everyone.
Please show your schematic.
 

Thread Starter

hudoeng

Joined Nov 27, 2014
4
Often a pullup resistor is used, and the pushbutton would short that to ground.
Some controllers have internal pullup resistors.
I see why pull-up resistors are preferred as I was re-drawing the circuit. The schematic is crude and I don't think it's necessary to upload at the moment. Sorry. The floating voltage of the Arduino pins was definitely the issue. Thanks again for the help
 
Top