HanRun HR911105A ethernet module with arduino uno reading high Values

Hello Everyone,

I am trying temperature senor example from the below URL. The code and circuit works fine with arduino uno However whenever I connect Ethernet shield HanRun HR911105A to Arduino uno the temperature reading read is very high. Can anyone please help me on this? Thanks in advance.

http://ardx.org/src/circ/CIRC10-code.txt

Code:

/*     ---------------------------------------------------------
 *     |  Arduino Experimentation Kit Example Code             |
 *     |  CIRC-10 .: Temperature :. (TMP36 Temperature Sensor) |
 *     ---------------------------------------------------------
 *   
 *  A simple program to output the current temperature to the IDE's debug window 
 * 
 *  For more details on this circuit: http://tinyurl.com/c89tvd 
 */

//TMP36 Pin Variables
int temperaturePin = 0; //the analog pin the TMP36's Vout (sense) pin is connected to
                        //the resolution is 10 mV / degree centigrade 
                        //(500 mV offset) to make negative temperatures an option

/*
 * setup() - this function runs once when you turn your Arduino on
 * We initialize the serial connection with the computer
 */
void setup()
{
  Serial.begin(9600);  //Start the serial connection with the copmuter
                       //to view the result open the serial monitor 
                       //last button beneath the file bar (looks like a box with an antenae)
}
 
void loop()                     // run over and over again
{
 float temperature = getVoltage(temperaturePin);  //getting the voltage reading from the temperature sensor
 temperature = (temperature - .5) * 100;          //converting from 10 mv per degree wit 500 mV offset
                                                  //to degrees ((volatge - 500mV) times 100)
 Serial.println(temperature);                     //printing the result
 delay(1000);                                     //waiting a second
}

/*
 * getVoltage() - returns the voltage on the analog input defined by
 * pin
 */
float getVoltage(int pin){
 return (analogRead(pin) * .004882814); //converting from a 0 to 1023 digital range
                                        // to 0 to 5 volts (each 1 reading equals ~ 5 millivolts

The HanRun HR911105A is the make and model of the RJ45 connector on the shield, not the shield itself.
http://www.kosmodrom.com.ua/pdf/HR911105A.pdf
Do you have a link to the shield you are using?

I noticed the same thing on a Chinese Ethernet shield. I switched to another analogue input and it seemed ok. Actually, analogue ins 0, and 1 read high, and 2,3,4,and 5 seemed ok. I never investigated it further.

Try it on the other inputs and let us know what happens.

Jog18,

You are my hero. your suggestion worked. I have a big demo coming up my way. Thank you so much. :slight_smile:

FYI: Some ethernet shields use A0 and A1 as the SD card "card present" and "write protect" pins.

That explains it. So it should work if I disable SD card and use A0 and A1 right?? Thank you very much SurferTim.