Temperatur sensor (tmp36)
https://www.lawicel-shop.se/tmp36-temperature-sensor
TMP36 är en lågspännings, Celsius-temperatursensor som mäter skillnaden av temperaturen runt om den. Tekniken bakom den är att den ger en spänningsutgång som är linjärt proportionell mot Celsius-temperaturen.
Jag fick det att fungera genom att använda en kod från internet som gör att lamporna som är uppkopplade med pin 2,3,4 kommer att kunna lysa upp då temperaturs sensor detekterar värme och om det är högt så kommer alla lampor att lysa.
kod:
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()
{
baselineTemp = 40;
celsius = map(((analogRead(A0) – 20) * 3.04), 0, 1023, -40, 125);
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);
}