Suma/Resta Variables

Buenas gente, soy nuevo en arduino, actualmente estoy trabajando en un mini-proyecto, trata sobre un Parking de coches, la idea era hacer las plazas con LDRs, y éstas en función del umbral, me marcaban o un +1 o un -1 (y estos números iban sumando o restando a los demás números de los demás LDRs), es decir, que esa plaza estaba vacía o llena y en base a esto se encendía un led verde o un led rojo, el total de estas plazas era 6, por lo tanto, no puede sobre pasar este número lógicamente, lo que no entiendo es como sumar o restar estas "variables", no sé qué función utilizar, todo esto se tiene que mostrar en un display de 7 segmentos.

Gracias de antemano, un saludo.

He estado indagando un poco el tema y por lo que he podido ver, añadiendo una función boolean y variables globales se puede conseguir zanjar la cosa pero me sigue dando un error, he probado solo con una LDR, la cosa es que en un inicio, no hay plazas vacantes, por lo tanto, el número de plazas es 0, al darle luz a la LDR y que ésta supere el umbral, me marca un "1" y me dice que la plaza se encuentra libre, pero al volver a un estado por debajo del umbral, me sigue marcando ese "1" cuando debería marcar un "0", no sé qué he hecho mal ,no sé si me explico, este el código que he pensado:

boolean EstadoActual;
int EstadoAnterior;

int Umbral = 512;
int Plazas;

int LDR = A0;
int Valor;

int LDR1 = A1;
int Valor1;


void setup() {
  Serial.begin(9600);
}


void loop() {
  Valor = analogRead(LDR);
  Serial.print("LDR: ");
  Serial.println(Valor);

  if (Valor >= Umbral) { //Libre
    EstadoActual = true;

    if (EstadoActual != EstadoAnterior) {
      Plazas = Plazas + 1;
      EstadoAnterior = EstadoActual;
      Serial.println("Plaza Libre");

    }
    else                  //Ocupada
    {
      EstadoActual = false;
      if (EstadoActual != EstadoAnterior) {
        Plazas = Plazas - 1;
        EstadoAnterior = EstadoActual;
        Serial.println("Plaza Ocupada");
      }
    }

  }
  Serial.print("Plazas:  ");
  Serial.println(Plazas);
  delay(5000);
}