/************************************************************************************ Title: temp_sensor.ino --------------------------------------------------------------------------------- Description - to use in the modular sidewalk project. This code uses a sens-73 temperature sensor. Date Version Changes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 03/10/2021 1.0.0 Code creation 03/11/2021 1.0.1 Testing and debugging 03/13/2021 1.1.0 Implementation of LEDS ***********************************************************************************/ //Library inclusions #include #include #include dht DHT; #define analog_pin A1 // signal of the temperature sensor connected to pin 7 #define DATA 7 OneWire oneWire(DATA); int greenLED = 5; int redLED = 7; int cable = 4; int heaton = 8; DallasTemperature sensors(&oneWire); void setup(void) { Serial.begin(9600); sensors.begin(); pinMode(greenLED, OUTPUT); pinMode(redLED, OUTPUT); pinMode(cable, OUTPUT); pinMode(heaton, OUTPUT); } void loop(void) { int chk = DHT.read11(analog_pin); Serial.print("Celsius temperature: "); Serial.println(DHT.temperature); delay(2000); Serial.println(analogRead(0)); // Temperature lower than 0oc and snows - it is on if (DHT.temperature < 1 || analogRead(0) < 400) { Serial.println("Heating on"); digitalWrite(cable, HIGH); delay(1200); } if (DHT.temperature > 1 && analogRead(0) < 400) { Serial.println("Heating on"); digitalWrite(cable, HIGH); delay(60); } // Temperature higher than 0oC and not snow - it is off if (DHT.temperature >= 0 && analogRead(0) >= 400) { Serial.println("Heating off"); digitalWrite(cable, LOW); delay(500); } delay(100); heatmaton(); } void heatmaton() { while(!(DHT.temperature >= 0 && analogRead(0) >= 400)){ digitalWrite(heaton, HIGH); delay(1500); digitalWrite(heaton, LOW); delay(1500); } }