llenadora de vasos (copetematic)

les adjunto una dosificadora de líquidos, la cual esta en proceso de construcción.
la finalidad es poder realizar o preparar un trago conocido "jote" (CHILE).
el cual consiste en mezclar vino con una popular bebida cola.
La receta es simple, puede ser 40% vino y 60% bebida o a la inversa, la verdad que las cantidades dependen del catador.
el tema es que actualmente solo dosifica un liquido, estoy trabajando en un HMI para dar las recetas.
en preliminar les dejo el código acá. si les interesa ayudar a desarrollar algo mas Pro, sean bienvenidos
scketch copetematic.ino

#include "HX711.h"
#define DOUT  A1
#define CLK  A0

HX711 balanza(DOUT, CLK);

int var = 0;
void setup() {
Serial.begin(9600);
pinMode(4, INPUT);
pinMode(3, OUTPUT);
pinMode(4, HIGH);

  Serial.print("Lectura del valor del ADC:  ");
  Serial.println(balanza.read());
  Serial.println("No ponga ningun  objeto sobre la balanza");
  Serial.println("Destarando...");
  Serial.println("...");
  balanza.set_scale(-18589.98); // Establecemos la escala
  balanza.tare(20);  //El peso actual es considerado Tara.
  Serial.println("Listo para pesar");  
  
}

void loop() {
  casos();
Serial.print("Peso:");
  Serial.print(balanza.get_units(20),3);
  Serial.println("kg");
  delay(100);
  float peso = balanza.get_units(10); 

if (peso >= -0.620 && peso <= -0.100) {
 balanza.tare(20);
 Serial.println("Tarando Copetematic");

  delay(100);
  

}  
if (peso >= -0.030 && peso <= 0.020) {
 var = 0;

  delay(100);
  

}
// Vaso Pequeño
if ((var == 0 ) && (peso >= 0.150 && peso <= 0.160)) {
 var = 3;

  delay(100);
  

}
// Vaso Pequeño lleno
if ((var == 3 ) && (peso >= 0.290)) {
 var = 4;

  delay(100);
  

}
  // CAÑA
if ((var == 0 ) && (peso >= 0.229 && peso <= 0.260)) {
 var = 1;

  delay(100);
  

}
// Vaso lleno
if ((var == 1 ) && (peso >= 0.458)) {
 var = 2;

  delay(100);
  

}
if (digitalRead(4) == HIGH) {
  var = 0;
  balanza.tare(20);
}
}

adjuntar a este variables.ino

void casos()
{
switch(var){
    case 1: 
       //si var = 1 se ejecuta esto
       digitalWrite(3, LOW);
        Serial.println("Caña");
    break;
    case 2: 
       //si var = 2 se ejecuta esto
       digitalWrite(3, HIGH);
        Serial.println("Baso lleno");
         balanza.tare(20); 
         Serial.println("Retire el Copete");
    break;
    //pueden haber tantos case como se necesite.
    case 3:
        digitalWrite(3, LOW);
        Serial.println("Vaso Pequeño");
        break;

    case 4:
        digitalWrite(3, HIGH);
         Serial.println("Basito lleno");
         balanza.tare(20); 
         Serial.println("Retire el Copete");
        break;
        
    default: 
    digitalWrite(3, HIGH);
       //si nada coincide se ejecuta esto
       //es opcional  
    break;
}
}