Go Down

Topic: [3/Love-o-meter] it seems TMP36 doesn't work (volts: 0.00 ; degrees: -50.00) (Read 32380 times) previous topic - next topic

hiduino



EDIT: Something is very wrong, if i change the sensors position on the breadboard i get different values..



It might be that the Arduino input port is bad?  Can you try changing to another analog input port? (make sure you update your code to match)  Also some times if the wire leads are too long they can affect the sensor measurements.





EDIT: Something is very wrong, if i change the sensors position on the breadboard i get different values..



It might be that the Arduino input port is bad?  Can you try changing to another analog input port? (make sure you update your code to match)  Also some times if the wire leads are too long they can affect the sensor measurements.




I tried some of the other projects before going back to this, now i get these numbers(again with 100ms delay):

Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 35, Volts: 0.17, Degrees: -32.91
Sensor Value: 92, Volts: 0.45, Degrees: -5.08
Sensor Value: 96, Volts: 0.47, Degrees: -3.13
Sensor Value: 97, Volts: 0.47, Degrees: -2.64
Sensor Value: 89, Volts: 0.43, Degrees: -6.54
Sensor Value: 74, Volts: 0.36, Degrees: -13.87
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00
Sensor Value: 0, Volts: 0.00, Degrees: -50.00


with this code:

Code: [Select]

const int sensorPin = A0;
const float baselineTemp = 20.0;

void setup(){
  Serial.begin(9600);
  for(int pinNumber = 2; pinNumber < 5; pinNumber++){
    pinMode(pinNumber, OUTPUT);
    digitalWrite(pinNumber, LOW);
  }
}


void loop(){
  int sensorVal = analogRead(sensorPin);
  Serial.print("Sensor Value: ");
  Serial.print(sensorVal);
  float voltage = (sensorVal/1024.0)*5.0;
  Serial.print(", Volts: ");
  Serial.print(voltage);
  Serial.print(", Degrees: ");
  float temperature = (voltage - .5)*100;
  Serial.println(temperature);
 
  if(temperature < baselineTemp){
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }
  else if(temperature >= baselineTemp+2 && temperature < baselineTemp+4){
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }
  else if(temperature >= baselineTemp+4 && temperature < baselineTemp+6){
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
  }
  else if(temperature >= baselineTemp +6){
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
  }
  delay(100);
}


I've noticed the numbers are the same whether i have the + connected or not, so i guess there's something wrong with the power? Or the sensor(s)?


hello
I tested the tmp36 and I think I will not use again! the tmp36 is too sensitive to electrostatic waves. the only way I managed it by adding a 0.1 uf ceramic capacitor for the values ??are more stable on the breadboard. but when you make a perforated plate or you use more than one tmp36 or otherwise in a surrounding with lots of electrostatic waves (film studio, or near a motor). this is not the same games. the first tmp36 influences the values ??of the other and so on. Environmental electrostatic waves distort the sensor values

The slightest change of voltage (power outage, run down, connection error etc.). Sensor burns. must be experienced in electronics, it's really not recommended to beginners! it should be noted that on this forum there are requests for help almost every 2 days for tmp36. must deduce something. I finally used a thermistor (variable resistor heat) and everything is settled.

emmanuelle

Arucarn

Double check that you are using the correct componant. I made the mistake of using the wrong componant.

Yes the Transistor looks similar to the Temperature Sensor. They have the same black body with 3 legs
though the Transistor outer legs are bent whereas the Temp Sensor I have the legs are all straight.

Anyway I tried a transistor in the circuit and got varying negative readings like those in this thread.

So ensure it's really the Temperature Sensor and not one of the Transistors.
In my official kit I got 1X Temp Sensor and 5X Transistors which were taped to a card.

Go Up