Putting an LM35 sensor reading online

Hello,

Does anyone know of any good tutorials of how to put an LM35 temperature sensor reading online?I’m using an ethernet shield. I’ve found some for a DS18B20 but have not had much luck with the LM35.

Any help is greatly appreciated!
Jack

It will be no different than the DS18B20, just change the code to read the DS to the LM chip. The ‘online’ bit will be the same.

Thanks for the reply!

just change the code to read the DS to the LM chip

Do you know how this might be done?My coding experience isn’t the strongest. The code i’m using for the temperature sensor aspect is below

void OneWireReset(int Pin) // reset.  Should improve to act as a presence pulse
{
     digitalWrite(Pin, LOW);
     pinMode(Pin, OUTPUT); // bring low for 500 us
     delayMicroseconds(500);
     pinMode(Pin, INPUT);
     delayMicroseconds(500);
}

void OneWireOutByte(int Pin, byte d) // output byte d (least sig bit first).
{
   byte n;

   for(n=8; n!=0; n--)
   {
      if ((d & 0x01) == 1)  // test least sig bit
      {
         digitalWrite(Pin, LOW);
         pinMode(Pin, OUTPUT);
         delayMicroseconds(5);
         pinMode(Pin, INPUT);
         delayMicroseconds(60);
      }
      else
      {
         digitalWrite(Pin, LOW);
         pinMode(Pin, OUTPUT);
         delayMicroseconds(60);
         pinMode(Pin, INPUT);
      }

      d=d>>1; // now the next bit is in the least sig bit position.
   }
   
}

byte OneWireInByte(int Pin) // read byte, least sig byte first
{
    byte d, n, b;

    for (n=0; n<8; n++)
    {
        digitalWrite(Pin, LOW);
        pinMode(Pin, OUTPUT);
        delayMicroseconds(5);
        pinMode(Pin, INPUT);
        delayMicroseconds(5);
        b = digitalRead(Pin);
        delayMicroseconds(50);
        d = (d >> 1) | (b<<7); // shift d to right and insert b in most sig bit position
    }
    return(d);
}


void getCurrentTemp(char *temp)
{  
  int HighByte, LowByte, TReading, Tc_100, sign, whole, fract;

  OneWireReset(TEMP_PIN);
  OneWireOutByte(TEMP_PIN, 0xcc);
  OneWireOutByte(TEMP_PIN, 0x44); // perform temperature conversion, strong pullup for one sec

  OneWireReset(TEMP_PIN);
  OneWireOutByte(TEMP_PIN, 0xcc);
  OneWireOutByte(TEMP_PIN, 0xbe);

  LowByte = OneWireInByte(TEMP_PIN);
  HighByte = OneWireInByte(TEMP_PIN);
  TReading = (HighByte << 8) + LowByte;
  sign = TReading & 0x8000;  // test most sig bit
  if (sign) // negative
  {
    TReading = (TReading ^ 0xffff) + 1; // 2's comp
  }
  Tc_100 = (6 * TReading) + TReading / 4;    // multiply by (100 * 0.0625) or 6.25

  whole = Tc_100 / 100;  // separate off the whole and fractional portions
  fract = Tc_100 % 100;


      if(sign) temp[0]='-';
      else              temp[0]='+';
      
        if(whole/100==0)
           temp[1] =' ';
        else
        temp[1]= whole/100+'0';
      temp[2]= (whole-(whole/100)*100)/10 +'0' ;
      temp[3]= whole-(whole/10)*10 +'0';
      
      temp[4]='.';
      temp[5]=fract/10 +'0';
      temp[6]=fract-(fract/10)*10 +'0';
      
      temp[7] = '\0';


      
}

Thanks in advance
Jack

Isn’t the LM35 an analogue device?
You need to put it on an analogue input, and figure on 10mV per degree.