Analog input problem (cross-talk?)

Hello community,

I'm yet another new Arduino (Duemilanove) user and I'm kind of stuck with a strange phenomena I see when using the analog inputs.

Trying to get familiar with the Arduino hard and software I setup some basic circuitry with (in order of adding them to the hardware)
LCD on D2,D3,D4,D5,D10,D11,D12,
Button on D8,
LED on D13
Temperature sensor (LM35DZ) on A0,
Photo transistor (BPX25) on A1,
I2C output extender (PCF8574A) on A4 and A5
While testing each individual circuit all seemed well. I display current/min/max temperatures on the lcd and added the button to reset these values because they sometimes showed extreme values (did not think much of it at the time).
Today I was trying to detect some audio (just show the values on the LCD) on A2 but when I connected the audio to the Arduino input I noticed that my temperature readings went nuts.
I did another test with the photo transistor and (finally) noticed that a high light value also influenced the temperature values (that's why the reset button was added).
I've found out that when I ground unused analog input pins these pins don't report fluctuating values anymore (since they are no longer floating).
But whatever I try I can't get the light values to not interfere with the temperature readings. To me I looks like cross-talk (as seen in RF-circuits) but I can not explain how this can occur with the "slow" DC-signals I'm using.
To make thing even stranger I also see values (up to 14 on a 1024 scale) on the grounded analog pins when I generate full input (5V) on the input connected to the photo transistor...

Has anybody else encountered this strange behavior before? And more important: what causes it and how can it be solved?

Any advice is appreciated.

Mario H

but when I connected the audio to the Arduino input I noticed that my temperature readings went nuts.

Make sure that the audio input is not driving the analogue input pin outside the supply rails, especially make sure it is not taking the input negative. This can happen with an AC coupled signal. If this is the case then you can use some catcher diodes.

There is a bit of cross talk caused by the input multiplexer on the A/D but this is normally only apparent with high impedance inputs.

noticed that a high light value also influenced the temperature values

Make sure that your analogue reference is stable and you are not pulling it in any way. You could also try adding a capacitor to the Aref pin on the arduino.

Also make sure of the good stuff like common grounds.

Thanks for your reply Mike,

A diode on the audio input was present so nothing negative should be coming in.
Supply is via usb (no idea of the quality).
Ground shouldn't be the problem.

After seeing the strange values I immediately disconnected the audio input so I don't know what the peak audio input was.
I'll dig out my scope (still stored in a box somewhere after moving house) and see what's really going on at the inputs.

I'll also do some tests with a cap on the Aref pin.

Thanks for now,

Mario H