Battery Pack, individual cell voltage measurement

Thanks for the quick reply.

I thought it would be something like that. ( voltage drop across transistors) I have started writing a new sketch. I'm getting a little lost on how to have it print the reading of individual cells and hold it till it reads that cell again. I will post a copy of what I have so far. Maby you can tell me if I'm on the right track.

Thanks again.
Rich.

int safty = 13;
int check = 12;
int threshold = 2.5;

int Cellv = A0;
int CellVal = 0;
float Cellpin = 0;
float CellVoltage = 0;

int gnd = 2;
int Cell1 = 3;
int Cell2 = 4;
int Cell3 = 5;
int Cell4 = 6;


  void setup(){
    Serial.begin(9600);
    
pinMode(safty, OUTPUT);
pinMode(check, INPUT);

pinMode(Cell1, OUTPUT);
pinMode(Cell2, OUTPUT);
pinMode(Cell3, OUTPUT);
pinMode(Cell4, OUTPUT);

}
 
 
   void loop(){
    
    int checkVal = digitalRead(check);
    int sampleCellVal = 0;
    int avgCellVal = 0;
    
    for (int x = 0; x< 10; x++){
      
      CellVal = analogRead (Cellv);
      sampleCellVal = sampleCellVal + CellVal;
      
      digitalWrite(Cell1, HIGH); delay(0.0);
      digitalWrite(Cell1, LOW); delay(0.5);
      digitalWrite(Cell2, HIGH); delay(1.0);
      digitalWrite(Cell2, LOW); delay(1.5);
      digitalWrite(Cell3, HIGH); delay(2.0);
      digitalWrite(Cell3, LOW); delay(2.5);
      digitalWrite(Cell4, HIGH); delay(3.0);
      
      
      
      if (CellVoltage < threshold) digitalWrite(safty, HIGH);
      else{ digitalWrite(safty,LOW);
      
    }


delay (10);

    }
    
    avgCellVal = sampleCellVal /10;
    Cellpin = avgCellVal * 0.00610;
    
    CellVoltage = Cellpin;
    
    
    
    
delay(10);
   }

I know I said I was going to have 2 groups of 4 cells. But for trial I'm only going to do one group. I can add the other group after proof of concept. I'm also doing .5 seconds of read per cell. I'm not really shore if this is enough time to get an accurate reading?