This project determines the temperature using an Analog Temperature Sensor and then turns on LED warning lights, and exhaust fans.
Functional Parts in the Project:
- Arduino Uno – https://store.arduino.cc/usa/arduino-uno-rev3
- L298N Motor Module – https://amzn.to/2Xa9uiR
- 200mm 12v Fan – https://amzn.to/2X40nQt
- Analog Temperature Sensor – https://amzn.to/2Rkkl3k
- 220 Ohm Resistors – https://amzn.to/2RiiMD9
- Breadboard Kit – https://amzn.to/2Xih5ei
- LED Kit – https://amzn.to/2Rjhs2N
- 560 Piece Jumper Wire Kit – https://amzn.to/2MsCLjL
#define tempSensor A0
#define greenLED 2
#define yellowLED 3
#define redLED 4
#define enA 6
#define enB 7
#define in1 8
#define in2 9
#define in3 10
#define in4 11
int goodTemp = 73;
int highTemp = 80;
void setup()
{
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(redLED, OUTPUT);
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
analogWrite(enA, 255);
analogWrite(enB, 255);
Serial.begin(9600);
}
void loop()
{
int reading = analogRead(tempSensor);
float voltage = reading * 5.0;
voltage /= 1024.0;
float temperatureC = (voltage - 0.5) * 100 ;
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
Serial.print(voltage); Serial.print(" volts - ");
Serial.print(temperatureC); Serial.print(" degrees C - ");
Serial.print(temperatureF); Serial.println(" degrees F");
if (temperatureF >= highTemp) {
digitalWrite(redLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
else if (temperatureF >= goodTemp && temperatureF < highTemp) {
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, HIGH);
digitalWrite(greenLED, LOW);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
else {
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, HIGH);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
delay(1000);
}
Be the first to comment