I'm using an Arduino Uno and I have 4.7V in analog inputs A0 and A1, and full range reading (1023)
Is not a floating voltage, if I connect a load between A0 and GND 4.7V remains.
However the ADC work properly. If I directly connect A0 to GND internal reading is 0. If I put a different voltage in A0 pin, I can measure with te multimeter an average between the voltage I apply and 4.7V, and the reading match with the voltage.
It seems like is internally bridged A0 with source.
More helpful information:
-I realize about the problem after using: "analogReference(INTERNAL)"
-I only used the 5V supply from the board, and the board is feeded thru USB.
-I already check with " pinMode(A0 , INPUT);"
-With instruction "analogWrite(A0,LOW);" voltage is 0.
Thanks for your reply CrossRoads.
Analog inputs doesn't support PWM outputs, I know, it only was a test trying to pull down the voltage.
At least I don't loose the interface at all, I can use it as digital output...
The problem is, I don't know how it happened, in order to avoid it in the future.
I'm afraid about using the internal reference voltage again "analogReference(INTERNAL)", is the only "strange" thing I did.
Do I have to take special care using this setup?
Could the problem be set 1.1v reference, and put 3v in one analog input?
I'm using an Arduino Uno and I have 4.7V in analog inputs A0 and A1, and full range reading (1023)
Is not a floating voltage, if I connect a load between A0 and GND 4.7V remains.
A floating input can read anything.... It can "float up" or "float down", or pick-up electrostatic or electromagnetic noise and jump-around, and it's basically undefined. However, it should always read the same as the meter with the meter connected. (Connecting the meter could have an effect on the high-impedance floating input.)
If you find that a floating analog input always floats-up to 1023/Vcc, that's certainly valid.... Anything between 0 and 1023 is valid!. But, it's not intentionally pulled-up and it would be bad engineering practice to rely on that and design that into your project/product.
if I connect a load between A0 and GND 4.7V remains.
What kind of a "load"? Connect a resistor (say 10K or so) between A0 and ground, and what do you get?
Hi guys, some advances...
First of all, sorry because I didn't realize that I was hiding information: I have an Ethernet shield.
If release the shield, my arduino's ghosts dissapear. I get a spare ethernet shield, and with the new one there is no problems. So... the problem is on the shield. Any idea? Is there any configuration stored in the shield?
muellin:
Hi guys, some advances...
First of all, sorry because I didn't realize that I was hiding information: I have an Ethernet shield.
If release the shield, my arduino's ghosts dissapear. I get a spare ethernet shield, and with the new one there is no problems. So... the problem is on the shield. Any idea? Is there any configuration stored in the shield?
Thanks
Usually the ethernet shield wouldn't have ANYTHING connected to that pin, but it really depends on the specific shield you have.
Right! A0 and A1 (my problematic analog inputs) and only them, seems to have a track connected on the board.
Something changed in the ethernet shield and now is connecting 5v on this pins.
I'll investigate in this direction...
"Although not used by most SD card libraries, A0 is connected to the SD slot's write protect (WP) pin and A1 is connected to the card detect switch. Both are pulled high by 10k resistors on the Ethernet shield. These pins therefore cannot be used for analog input with the shield unless they are bent back or clipped off before inserting the shield into the arduino. Additionally, if a user's circuit uses these pins for digital IO, the pullups may cause problems for existing circuitry."
It has sense. and it also matches, because explains why with 10K resistor, the voltage drop just to the half...