This commit is contained in:
jens 2025-07-08 23:09:48 +02:00
parent d5a772f36b
commit 750012a9fb
2 changed files with 118 additions and 39 deletions

View File

@ -153,8 +153,8 @@ class PHControllerGUI(QMainWindow):
self.set_controls_enabled(True)
# Request initial data
self.send_command("<114>") # Request pH value
self.send_command("<113>") # Request tube size
self.send_command("<14>") # Request pH value
self.send_command("<13>") # Request tube size
except Exception as e:
QMessageBox.critical(self, "Fehler", f"Verbindungsfehler: {str(e)}")
@ -186,23 +186,23 @@ class PHControllerGUI(QMainWindow):
def send_pump_command(self, state):
if state == 1:
self.send_command("<111>") # Pump on
self.send_command("<11>") # Pump on
self.pump_status.setText("Pumpe: Ein")
else:
self.send_command("<112>") # Pump off
self.send_command("<12>") # Pump off
self.pump_status.setText("Pumpe: Aus")
def send_tube_command(self, index):
# The Arduino expects the tube index (0-25)
self.send_command(f"<11{index+3}>") # <11[3-28]>
self.send_command(f"<1{index+3}>") # <11[3-28]>
def send_calibration_command(self, ph):
if ph == 4:
self.send_command("<114>") # Start pH4 calibration
self.send_command("<15>") # Start pH4 calibration
QMessageBox.information(self, "Kalibrierung",
"pH4 Kalibrierung gestartet. Sensor in pH4-Lösung tauchen und warten bis der Wert stabil ist.")
else:
self.send_command("<115>") # Start pH7 calibration
self.send_command("<16>") # Start pH7 calibration
QMessageBox.information(self, "Kalibrierung",
"pH7 Kalibrierung gestartet. Sensor in pH7-Lösung tauchen und warten bis der Wert stabil ist.")

View File

@ -136,7 +136,7 @@ int read_LCD_buttons(){ // read the buttons
int hys = 1; // Hysterese zur Messwertglättung
int lcv = 0;
void reading(){ // Reading LM35 and PH Data
int reading(){ // Reading LM35 and PH Data
// Samplin LM35 and PH Value
//TempTotal= TempTotal - TempReadings[Index]; // subtract the last reading:
PhTotal= PhTotal - PhReadings[Index]; // subtract the last reading:
@ -248,44 +248,42 @@ if (Serial.available()) {
}
}
}
if (RxCmd[1] == '1') {
if ( RxCmd[1] == '1' ){
switch (RxCmd[2]) {
case '1': // Pump on
pinMode(MOTOR1, HIGH);
pinMode(MOTOR2, HIGH);
Pumpe = 2;
Serial.println("<P1>"); // Bestätigung
break;
case '2': // Pump off
pinMode(MOTOR1, HIGH);
pinMode(MOTOR2, LOW);
Pumpe = 1;
Serial.println("<P0>"); // Bestätigung
break;
case '3': // Tube selection (3-28)
tubid = RxCmd[3] - '3'; // Convert to 0-25
if (tubid >= 0 && tubid <= MAXTUB) {
EEPROM.put(ee_tubid, tubid);
Serial.print("<T");
Serial.print(tubid);
Serial.println(">"); // Bestätigung
}
break;
case '4': // Send pH value
Serial.print("<#");
Serial.print(PhValue, 2);
Serial.println(">");
break;
case '5': // Start calibration (4 or 7)
// Implement calibration mode
case '1':{ // Pumpe an
pinMode(MOTOR1,HIGH);
pinMode(MOTOR2,HIGH);
Pumpe=2;
break;
}
case '2':{ // Pumpe aus
pinMode(MOTOR1,HIGH);
pinMode(MOTOR2,LOW);
Pumpe=1;
break;
}
case '3':{ // Schlauchdaten anfordern
Serial.print('<');
Serial.print('#');
double mlpersec =( ml[tubid]*korrf*2)/6; // tube * 20 Um/min * korecturfaktor durch 60 sec
mlpersec = mlpersec*100000;
Serial.print(mlpersec); // Return PH Data
Serial.println('>');
break;
}
case '4':{// PH - Daten anfordern
Serial.print('<');
Serial.print(PhValue,2); // Return PH Data
Serial.println('>');
break;
}
}
}
if (CurrentMode == 0){ // Nomral Display Mode
reading(); // Reading LM35 and PH Data for display
@ -507,7 +505,7 @@ if (CurrentMode == 12) { // Auto modus stopped
CurrentMode = 0;
break;
}
}
case btnSELECT:{
if (CurrentMode == 0){ // Automodus starten
pinMode(MOTOR1,HIGH);
@ -530,7 +528,88 @@ if (CurrentMode == 12) { // Auto modus stopped
}
}
}
}
// if (adc_key_prev != lcd_key)
// {
// //Serial.println("Key Press Change Detected");
// switch (lcd_key){ // depending on which button was pushed, we perform an action
// case btnRIGHT:{ // push button "RIGHT" and show the word on the screen
// //lcd.print("RIGHT");
// if ( CurrentMode == 0 ){
// lcd.clear();
// CurrentMode = 2;
// }
// if ( CurrentMode == 3){
// lcd.clear();
// if ( CalSelect == 0 ){
// CurrentMode = 4;
// }
// if ( CalSelect == 1){
// CurrentMode = 5;
// }
// }
// break;
// }
// case btnLEFT:{
// //lcd.print("LEFT "); // push button "LEFT" and show the word on the screen
// if ( CurrentMode == 2 ){
// lcd.clear();
// CurrentMode = 0;
// }
// if ( CurrentMode == 3 ){
// lcd.clear();
// CurrentMode = 0;
// }
// if ( CurrentMode == 4 || CurrentMode == 5 ){
// lcd.clear();
// CurrentMode = 3;
// }
//
// break;
// }
// case btnUP:{
// //lcd.print("UP "); // push button "UP" and show the word on the screen
// if ( CurrentMode == 0 ){
// lcd.clear();
// CurrentMode = 1;
// }
// if ( CurrentMode == 3 ){
// lcd.clear();
// CalSelect = 0;
// }
// break;
// }
// case btnDOWN:{
// //lcd.print("DOWN "); // push button "DOWN" and show the word on the screen
// if ( CurrentMode == 1){
// lcd.clear();
// CurrentMode = 0;
// }
// if ( CurrentMode == 3 ){
// lcd.clear();
// CalSelect = 1;
// }
// break;
// }
// case btnSELECT:{
// //lcd.print("SEL. "); // push button "SELECT" and show the word on the screen
// if ( CurrentMode == 0 ){
// lcd.clear();
// CurrentMode = 3;
// break;
// }
// if ( CurrentMode == 3 ){
// lcd.clear();
// CurrentMode = 0;
// break;
// }
// break;
//
// }
// case btnNONE:{
// //lcd.print("NONE "); // No action will show "None" on the screen
// break;
// }
// }
// }
}