const int DS18S20_Pin=1;
const int ssrPin=0;
const int upPin=9;
const int downPin=10;
const int Setpoint_address=0;
At least some of these could be bytes.
for (int i = 0; i < 9; i++)
{
data[i] = ds.read();
}
The index is an int?
float tempRead = ((MSB << 8) | LSB);
Shifting and oring two bytes does not produce a float.