Temperature Sensor TMP36
Sensors TMP36 mäter temperatur skillnaden runt om sig. om temperaturen ökar inom sensorns räckvidd så ökar spänningen i sensorn av en diod och sensorns chip översätter sedan detta till en temperatur som ut ger signaler. Används t.ex. för brandalarm.
För att TMP36 ska fungera måste vänstra benet vara kopplat till 5v, högra till ground och mitten till en analog pin. Jag fick det att fungera genom att använda en kod från internet som gör att olika mängd lysdioder lyser beroende på temperaturen, när det blir varmare sätt fler av lysdioderna på.
Koden:
int baselineTemp = 0;
int celsius = 0;
int fahrenheit = 0;
void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
void loop()
{
// set threshold temperature to activate LEDs
baselineTemp = 0;
// measure temperature in Celsius
celsius = map(((analogRead(A0) – 20) * 3.04), 0, 1023, -40, 125);
// convert to Fahrenheit
fahrenheit = ((celsius * 9) / 5 + 32);
Serial.print(celsius);
Serial.print(“C,”);
Serial.print(fahrenheit);
Serial.println(“F”);
if (celsius < baselineTemp) { digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); } if (celsius >= baselineTemp && celsius < baselineTemp + 10) { digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); } if (celsius >= baselineTemp + 10 && celsius < baselineTemp + 20) { digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, LOW); } if (celsius >= baselineTemp + 20 && celsius < baselineTemp + 30) { digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); } if (celsius >= baselineTemp + 30) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
delay(1000); // Wait for 1000 millisecond(s)
}
Och så här ser sammanställningen ut:
Så när det blir varmare så tänds fler av dem tre lysdioderna på, ungefär såhär:
Källor för informationen och koden:
https://www.analog.com/media/en/technical-documentation/data-sheets/TMP35_36_37.pdf
https://www.instructables.com/id/TMP36-Temperature-Sensor-Arduino-Tinkercad/