Hi all. My display is showing “1” or “0” after the line of text. Idk where it is getting the 1 or 0. But it changes when the “Fan Disabled” goes to “Fan Enabled.” See photos. It shows it after the outside temp read out. Any ideas?? See photos.
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
// 2 DS18B20 SENSORS, both datas connected to PIN 8.
#define ONE_WIRE_BUS 8
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
//declare variables, constants
float outhouse_temp=0.0;
float inhouse_temp=0.0;
byte LED=9; //PWM pin
void setup()
{
Serial.begin(9600); //Start library
sensors.begin();
pinMode(LED,OUTPUT);
Serial.print(“Starting System”);
lcd.init(); //initialize the lcd
lcd.backlight(); //open the backlight
lcd.setCursor(0,0);
lcd.print(“System Booting…”);
lcd.setCursor(0,2);
lcd.print(“Collecting Data…”);
delay(4000);
}
void loop()
{
sensors.requestTemperatures();
inhouse_temp = sensors.getTempFByIndex(0);
outhouse_temp = sensors.getTempFByIndex(1);
delay(750); //12 Bit resolution = 750milliS conversion time.
lcd.clear();
Serial.print("Inside: "); Serial.println(inhouse_temp); //Serial Prints Inside temp
Serial.print("Outside: "); Serial.println(outhouse_temp); //Serial Prints Outside temp
lcd.print("INSIDE: ");
lcd.print(inhouse_temp);
lcd.setCursor(0,1);
lcd.print("OUTSIDE: ");
lcd.print(outhouse_temp);
if (outhouse_temp > inhouse_temp - 2 || inhouse_temp < 65.0) //2 degree hysteresis. Compares in/out temps & makes a decision.
{
digitalWrite(LED,HIGH);
lcd.print(digitalRead(LED));
lcd.setCursor(0,2);
lcd.print("FAN DISABLED ");
}
else {digitalWrite(LED,LOW);
lcd.print(digitalRead(LED));
lcd.setCursor(0,2);
lcd.print("FAN ENABLED ");
}
delay(9250);
}