Stock máquina expendedora

Hola estoy intentando hacer un programa que cuente el inventario de una máquina expendedora con 4 filas de productos, pero tengo un problema, hice la prueba con solo una fila y si funciona el contador pero al momento de agregar más filas ya no me hace el conteo de los productos para ninguna fila, alguien me podría decir porque es eso? Muchas gracias

El problema es que están intentando utilizar cuatro filas, y como seguramente estas usando un Arduino chino: En la cultura china, según wikipedia , se considera al 4 (四, ) como un número de mala suerte debido a su similitud fonética con la palabra que significa "muerte" .
Bueno chistes apartes, debes dar mas información como el programa, circuito de cableado, tipo de Arduino, etc. Ten en cuenta que no podemos leerte la mente.

Eso si ha tenido gracia, aún me estoy riendo. buen chiste. Te me has adelantado, en mío no tenia tanta imaginación.
Salud y larga vida @PeterKantTropus

Ese es el programa que estaba intentado hacer en arduino uno; hice la prueba con un solo contador y si funciona (disminuye la cuenta)pero el problema está cuando le agrego más contadores, en ese caso ya no funciona ninguno de los contadores
int cont=12;
int cont1=12;
int boton1=0;
int boton2=0;

void setup() {

// pinMode(A0,INPUT_PULLUP);
// pinMode(A1,INPUT_PULLUP);
// Serial.begin(9600);
// Serial.println(cont);

}

void loop() {

boton1=digitalRead(A0);
boton2=digitalRead(A1);

if(boton1!=0 && cont>0){
cont--;
while(digitalRead(A0)!=0){
delay(100);
}
Serial.println(cont);
}
if(boton2!=0 && cont1>0){
cont1--;
while(digitalRead(A1)!=0){
delay(100);
}
Serial.println(cont1);
}

}

Quiero ver la la cuenta de los dos contadores al mismo tiempo.

Una advertencia, utilizar Delay en el código es buscarse problemas, no se pueden unir programas que lo posean.
Por ultimo tu programa no funciona por que utilizas una una estructura bloqueante, con delays

 while(digitalRead(A0)!=0)
{
delay(100);
}

Es decir les estas diciendo que no haga nada, durante 100 milisegundos, si no advierte un cambio en el Pin A0, pero mientra este en delay ignorara el presionado de cualquier otra entrada.

PD: Edita tu post utilizando etiquetas para el código ( </> )

Tu idea era buena pero la tenias un poco desordenada y usabas nefastamente los delays tal como te indica @PeterKantTropus .Si no te entendi mal esto es lo que pretendias hacer:


#define boton1 A0
#define boton2 A1

int cont = 12;
int cont1 = 12;

void setup() {
  pinMode(boton1,INPUT_PULLUP);
  pinMode(boton2,INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  if ((digitalRead(boton1) == 0) && (cont > 0)) {//Lee y comprueba existencias
    while (digitalRead(boton1) == 0) {}// Si hay existencias espera que se suelte el boton
    // Y una vez liberado el boton
    cont --;
    Serial.println(cont);
  }
  if ((digitalRead(boton2) == 0) && (cont2 > 0)) {//Lee y comprueba existencias
    while (digitalRead(boton2) == 0) {}// Si hay existencias espera que sesuelte el boton
    // Y una vez liberado el boton
    cont1 --;
    Serial.println(cont1);
  }
}

Pruebalo y añade los otros botones
Saludos.

Moderador:
Mira como los demás potean los códigos usando etiquetas.
Ahora ve, lee las normas y edita el tuyo en el post #4.
No sigas respondiendo sin antes hacerlo.
No lo volveré a advertir.