Created
August 13, 2017 20:37
-
-
Save AlexanderEllis/5d25657a4d04ce2848e1747feaf52bfe to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const int sensorPin = A0; | |
const float baselineTemp = 25.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); | |
// Now we can actually convert this value to volts by getting the ratio | |
// 1023 is 5V, 0 is 0, so ratio in between | |
float voltage = (sensorVal / 1024.0) * 5.0; | |
Serial.print(", Volts: "); | |
Serial.print(voltage); | |
// Convert using datasheet to C. 10 millivolts of change is equivalent to a temp change of 1 degree science | |
// Offset for negative temperatures | |
Serial.print(", degrees C: "); | |
float temperature = (voltage - 0.5) * 100; | |
Serial.println(temperature); | |
if (temperature < baselineTemp) { | |
digitalWrite(2, LOW); | |
digitalWrite(3, LOW); | |
digitalWrite(4, LOW); | |
} else if (temperature >= baselineTemp && temperature < baselineTemp + 2) { | |
digitalWrite(2, HIGH); | |
digitalWrite(3, LOW); | |
digitalWrite(4, LOW); | |
} else if (temperature >= baselineTemp + 2 && temperature < baselineTemp + 4) { | |
digitalWrite(2, HIGH); | |
digitalWrite(3, HIGH); | |
digitalWrite(4, LOW); | |
} else if (temperature >= baselineTemp + 4) { | |
digitalWrite(2, HIGH); | |
digitalWrite(3, HIGH); | |
digitalWrite(4, HIGH); | |
} | |
delay(10); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment