My serial data port looks fine, but somehow can't operate the serial plotter, Tnx for T help...Erez.
attached photos, plus, here is main tab on IDE:
// #############################################################
// # Connection:
// # EC meter output -> Analog pin 1
// # DS18B20 digital pin -> Digital pin 2
// #############################################################
#include <OneWire.h>
#include <SoftwareSerial.h>
#define SensorPin pHsensorPin
#define pHsensorPin A0 //pH meter Analog output to Arduino Analog Input 0
#define ECsensorPin A1 //EC Meter analog output,pin on analog 1
#define DS18B20_Pin 2
float temperature;
double ECValue;
double pHValue;
unsigned long tmMeasure;
#define MEASURE_INTERVAL 10000
//ttt not used unsigned long printTime;
unsigned long LedSampleTime;
unsigned long tmECAnalise;
unsigned long tmPHAnalise;
#define ANALISE_INTERVAL 60000
#define EC2PH_INTERVAL 7000
double NeededPh = 9.0;
double NeededEC = 1.0;
String PH_Str = "";
String temperature_Str = "";
String ECcurrent_Str = "";
String Total_Str = "";
bool flPHDown=false;
bool flECUp=false;
enum SYSTEM_STATE {
sysStart,
sysWait,
sysMixPh,
sysMixEC
} SystemState = sysStart;
//---------------------------------------------
// Temperature chip i/o
//---------------------------------------------
OneWire ds(DS18B20_Pin); // on digital pin 2
//SoftwareSerial mySerial(4,5); // RX, TX
SoftwareSerial ESP32_Serial(A3, A2); // RX, !TX!
void setup() {
ctrlInit();
// put your setup code here, to run once:
// initialize serial communication with computer:
Serial.begin(115200);
// mySerial.begin(9600); //ttt what is it
ESP32_Serial.begin(9600); // to ESP32
Serial.println("-----------------------------------------------------------------------");
Serial.println("---------------- START ----------------------");
Serial.println("-----------------------------------------------------------------------");
// start DS1820 temperature conversation
TempProcess(false);
//LedSampleTime = millis();
tmECAnalise = millis()+20000; //ANALISE_INTERVAL;
tmPHAnalise = millis()+60000; //ANALISE_INTERVAL;
}
void loop() {
// put your main code here, to run repeatedly:
switch ( SystemState){
case sysStart:
ECInit();
pHInit();
dht11_Init();
ccs811_Init();
SystemState = sysWait;
break;
case sysWait:
if( millis() > tmMeasure ){
tmMeasure = millis()+MEASURE_INTERVAL;
temperature=TempProcess(true);
TempProcess(false); // start DS1820 temperature conversation
ECValue = ECMeasure();
pHValue = pHMeasure();
dht11_StartRead();
ccs811_StartRead();
Serial.print("W/temp: "); // Print1
Serial.print(temperature); //current temperature
Serial.print("^C EC:");
Serial.print(ECValue,2); //two decimal //Print2
Serial.print("ms/cm pH:");
Serial.print(pHValue,2); //two decimal //Print2
Serial.print(" A/Hum:");
Serial.print( dht11_GetHumidity() );
Serial.print(" A/Temp:");
Serial.print( dht11_GetTemperature() );
Serial.print(" A/CO2:");
Serial.print( ccs811_GeteCO2() );
Serial.print(" A/TVOC:");
Serial.print( ccs811_GetTVOC() );
//Serial.print(" T:");
//Serial.print( ccs811_GetTemperature() );
Serial.println(" ");
ECcurrent_Str = String(ECValue);
PH_Str = String(pHValue);
temperature_Str = String(temperature);
Total_Str = ECcurrent_Str + "+" + PH_Str + "*" + temperature_Str + "%" + ">";
ESP32_Serial.println(Total_Str);
// calculate data
}
if( millis() > tmECAnalise ){
tmECAnalise = millis()+ANALISE_INTERVAL;
if( ECValue < NeededEC ){
Serial.println(" ----------- ANALISE EC ---------------");
Serial.println(" EC UP Start:");
flECUp = true;
tmPHAnalise = millis()+ANALISE_INTERVAL; // pH not need UP
} else if( ECValue<20 && ECValue>0) {
tmPHAnalise = millis(); // after EC in interval, tuning pH
}
}
if( millis() > tmPHAnalise ){
tmPHAnalise = millis()+ANALISE_INTERVAL;
if( pHValue > NeededPh ){
Serial.println(" ----------- ANALISE PH---------------");
Serial.println(" pH Down Start:");
flPHDown = true;
}
}
if( flPHDown ) SystemState = sysMixPh;
if( flECUp ) SystemState = sysMixEC;
break;
case sysMixPh:
if ( ctrlpHDownRoutine() ) {
SystemState = sysWait;
flPHDown=false;
tmECAnalise = millis()+ANALISE_INTERVAL;
tmPHAnalise = millis()+ANALISE_INTERVAL+EC2PH_INTERVAL;
}
break;
case sysMixEC:
if ( ctrlECUpRoutine() ) {
SystemState = sysWait;
// tmPHAnalise = millis() + EC2PH_INTERVAL;
flECUp=false;
tmECAnalise = millis()+ANALISE_INTERVAL;
tmPHAnalise = millis()+ANALISE_INTERVAL+EC2PH_INTERVAL;
}
break;
default:
SystemState = sysWait;
break;
} // end main switch
}




