/*
Arduino Starter Kit example
Project 3 - Love-O-Meter
This sketch is written to accompany Project 3 in the Arduino Starter Kit
Parts required:
- one TMP36 temperature sensor
- three red LEDs
- three 220 ohm resistors
created 13 Sep 2012
by Scott Fitzgerald
https://store.arduino.cc/genuino-starter-kit
This example code is part of the public domain.
*/// named constant for the pin the sensor is connected to
constintsensorPin=A0;// room temperature in Celsius
constfloatbaselineTemp=20.0;
voidsetup(){// open a serial connection to display values
Serial.begin(9600);// set the LED pins as outputs
// the for() loop saves some extra coding
for(intpinNumber=2;pinNumber<5;pinNumber++){pinMode(pinNumber,OUTPUT);digitalWrite(pinNumber,LOW);}}
voidloop(){// read the value on AnalogIn pin 0 and store it in a variable
intsensorVal=analogRead(sensorPin);// send the 10-bit sensor value out the serial port
Serial.print("sensor Value: ");Serial.print(sensorVal);// convert the ADC reading to voltage
floatvoltage=(sensorVal/1024.0)*5.0;// Send the voltage level out the Serial port
Serial.print(", Volts: ");Serial.print(voltage);// convert the voltage to temperature in degrees C
// the sensor changes 10 mV per degree
// the datasheet says there's a 500 mV offset
// ((voltage - 500 mV) times 100)
Serial.print(", degrees C: ");floattemperature=(voltage-.5)*100;Serial.println(temperature);// if the current temperature is lower than the baseline turn off all LEDs
if(temperature<baselineTemp+2){digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,LOW);}// if the temperature rises 2-4 degrees, turn an LED on
elseif(temperature>=baselineTemp+2&&temperature<baselineTemp+4){digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,LOW);}// if the temperature rises 4-6 degrees, turn a second LED on
elseif(temperature>=baselineTemp+4&&temperature<baselineTemp+6){digitalWrite(2,HIGH);digitalWrite(3,HIGH);digitalWrite(4,LOW);}// if the temperature rises more than 6 degrees, turn all LEDs on
elseif(temperature>=baselineTemp+6){digitalWrite(2,HIGH);digitalWrite(3,HIGH);digitalWrite(4,HIGH);}delay(1);}