08-17-14, 06:04 PM | #11 |
Master EcoRenovator
Join Date: Mar 2014
Location: Florissant, Colorado
Posts: 599
Thanks: 814
Thanked 59 Times in 55 Posts
|
A/C I can barely remember my name at 72
I'm gonna be gone for about 12 days. Son is getting married. This code is not debugged. I think that LCD feedback will help. Rev06 Code:
void loop() { readTemps(); if (SKIP_FLOW_BOOL == false) readFlows(); demand = digitalRead(demandPin); demand = HIGH; //debug unsigned long current_Time = millis(); T1 = current_Time; lcd.clear(); lcd.home (); // go home lcd.print(F("curr_Time = ")); lcd.setCursor(0,1); lcd.print(current_Time); delay(5000); //Delay 5 sec lcd.clear(); lcd.home (); // go home lcd.print(F("wait_Time = ")); lcd.setCursor(0,1); lcd.print(wait_Time); delay(5000); //Delay 5 sec lcd.clear(); lcd.home (); // go home lcd.print(F("wait_Time+2min= ")); lcd.setCursor(0,1); lcd.print((wait_Time + Two_Min)); delay(5000); //Delay 5 sec if (demand == true) { lcd.clear(); lcd.home (); // go home lcd.print(F("demand=true")); lcd.setCursor(0,1); lcd.print(F("WAIT 2 MIN")); delay(5000); //Delay 5 sec } if ((demand == true) && (current_Time >= (wait_Time + Two_Min))) //Wait 2 min. { if (runHP == false) hpStart_Time = current_Time; lcd.clear(); lcd.home (); // go home lcd.print(F("hpStart_Time = ")); lcd.setCursor(0,1); lcd.print(hpStart_Time); delay(5000); //Delay 5 sec runHP = true; lcd.clear(); lcd.home (); // go home lcd.print(F("runHP = true")); delay(5000); //Delay 5 sec } else { if (runHP == true) { hpStop_Time = current_Time; lcd.clear(); lcd.home (); // go home lcd.print(F("hpStop_Time = ")); lcd.setCursor(0,1); lcd.print(hpStop_Time); delay(5000); //Delay 5 sec runHP = false; lcd.clear(); lcd.home (); // go home lcd.print(F("runHP = false")); delay(5000); //Delay 5 sec } } //*****HP startup cycle******** if (runHP == true) { runInPump = true; lcd.clear(); lcd.home (); // go home lcd.print(F("runInPump = true")); delay(5000); //Delay 5 sec } if ((runHP == true) && (current_Time >= (hpStart_Time + Half_Min))) //Wait 1/2 min comp start { if (SKIP_FLOW_BOOL == false) { if (HpLPM > minLPM) runCompressor = true; } else runCompressor = true; } lcd.clear(); lcd.home (); // go home lcd.print(F("runComp = true")); delay(5000); //Delay 5 sec if ((runHP == true) && (current_Time >= (hpStart_Time + One_Min))) //Wait 1 min { runOutPump = true; //Delay out pump start 60s after starting in pump ledState = true; ///turn on pin 13 led after startup of HP lcd.clear(); lcd.home (); // go home lcd.print(F("runOutPump=true")); lcd.setCursor(0,1); lcd.print(F("ledState=true")); delay(5000); //Delay 5 sec } //*****HP shutdown cycle******** if (runHP == false) { runCompressor = false; lcd.clear(); lcd.home (); // go home lcd.print(F("runComp=OFF")); delay(5000); //Delay 5 sec } if ((runHP == false) && (current_Time >= (hpStop_Time + Two_Min))) //Wait 2 min { runInPump = false; lcd.clear(); lcd.home (); // go home lcd.print(F("runInPump=OFF")); delay(5000); //Delay 5 sec } if ((runHP == false) && (current_Time >= (hpStop_Time + Five_Min))) //Wait 5 min { runOutPump = false; lcd.clear(); lcd.home (); // go home lcd.print(F("runOutPump=OFF")); delay(5000); //Delay 5 sec } wait_Time = current_Time; lcd.clear(); lcd.home (); // go home lcd.print(F("wait_Time = ")); lcd.setCursor(0,1); lcd.print(wait_Time); delay(5000); //Delay 5 sec ledState = false; //turn off pin 13 led after shutdown of HP if (SKIP_FLOW_BOOL == false) { //***Check flow rates above min*** if (HpLPM < minLPM || HpLPM1 < minLPM) { runCompressor = false; if (runHP == true) hpStop_Time = current_Time; wait_Time = (current_Time + Ten_Min); //prevent cycle restart for 10m runHP = false; } } //***Check evaporator/condensor above/below limits*** // not intended for defrost purposes, halts system for 30m if (evap_Temp < minEv || cond_Temp > maxCon) { runCompressor = false; if (runHP == true) hpStop_Time = current_Time; wait_Time = (current_Time + Thirty_Min); //prevent cycle restart for 30m runHP = false; } digitalWrite(led, ledState); digitalWrite(comp, runCompressor); digitalWrite(inPump, runInPump); digitalWrite(outPump, runOutPump); T2 = millis(); TT = T2 - T1; lcd.clear(); lcd.home (); // go home lcd.print(TT); // 5 sec delay(5000); } Last edited by buffalobillpatrick; 08-17-14 at 06:07 PM.. |
|
|