Monday, July 3, 2017
Thermometer using TO-92 with Light Indicator
//This program sense temperature using TO-92 to A0 analog input, with lighting indicator to digital pin 2,3,4, and output voltage level through serial output at 9600bps
//20C -> OFF, OFF OFF
//22C-> ON, OFF OFF
//24C-> ON, ON OFF
//26C-> ON ON ON
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 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+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(1, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
delay(1);
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment