Proyecto de parking automatizado

Hola, estoy haciendo un proyecto de aparcamiento automatizado y tomé este código, pero me señala error compilando para la tarjeta Arduino/Genuino UNO, y de paso quería saber si había alguna forma de cambiar lo que está en amarillo puesto que tengo el display de 7 segmentos pero no el decodificador bcd-7segmentos

#include <Servo.h>
#include <Ultrasonic.h>

int const pinBarrera = 2;          //Nombre para el pin 2.
int const triggerEntrada = 22;     //Nombre para el pin 22.
int const echoEntrada = 23;        //Nombre para el pin 23.
int const triggerSalida = 24;      //Nombre para el pin 24.
int const echoSalida = 25;         //Nombre para el pin 25.
int const numeroPlazas = 3;        //Parámetro para definir el número de plazas.
int const distanciaMaximaDeteccion = 20;   //Parámetro para definir la distancia máxima a la que se detectarán los coches.
int const anguloApertura = 90;     //Parámetro para definir el ángulo de apertura de la valla.
int const anguloCierre = 0;        //Parámetro para definir el ángulo de cierre de la valla.

Servo barrera;      //Variable de tipo Servo.
Ultrasonic entrada(triggerEntrada, echoEntrada, 2000);    //Variable de tipo Ultrasonic para el ultrasónico de entrada, definimos pines y timeout.
Ultrasonic salida(triggerSalida, echoSalida, 2000);       //Variable de tipo Ultrasonic para el ultrasónico de entrada, definimos pines y timeout.
int plazasLibres = numeroPlazas;                          //Almacena las plazas libres del parking.
boolean hayCocheEntrada, hayCocheSalida, alarmaGas;       //Almacena el estado correpondiente hay si hay coches en entrada/salida y el estado de la alarma de gas.

void setup() {
 for (int i = 2 ; i <= 29 ; i++) {
   if (i == 7) i = 22;
   pinMode(i, OUTPUT);   //Establece el pin i como salida.
 }
 pinMode(echoEntrada, INPUT);    //Establece el pin echoEntrada como entrada.
 pinMode(echoSalida, INPUT);     //Establece el pin echoSalida como entrada.
 barrera.attach(pinBarrera);     //Asigna el pin pinBarrera al servomotor.
 barrera.write(anguloCierre);    //Bajamos la barrera.
}

void loop() {


 escribirMarcador(plazasLibres);    //Escribe las plazas libres en el siete segmentos.
 hayCocheEntrada = entrada.Ranging(CM) <= distanciaMaximaDeteccion;  //Si la distancia en el sensor ultrasónico es menor o igual que la distancia maxima de deteccion, hay un coche en la entrada.
 hayCocheSalida = salida.Ranging(CM) <= distanciaMaximaDeteccion;    //Si la distancia en el sensor ultrasónico es menor o igual que la distancia maxima de deteccion, hay un coche en la salida.
 if (hayCocheEntrada) {
   if (plazasLibres > 0) {
     plazasLibres--;
     permitirPaso();
   } else denegarAcceso();
 }
 if (hayCocheSalida) {
   permitirPaso();
   if (plazasLibres < numeroPlazas) {
     plazasLibres++;
   }
 }
}

void permitirPaso() {
 barrera.write(anguloApertura);
 tone(piezoElectrico, 2000, 100);
 delay(500);
 while (hayCocheEntrada || hayCocheSalida) {
   hayCocheEntrada = entrada.Ranging(CM) <= distanciaMaximaDeteccion;
   hayCocheSalida = salida.Ranging(CM) <= distanciaMaximaDeteccion;
 }
 delay(1500);
 barrera.write(anguloCierre);
 delay(1500);
}


void denegarAcceso() {
 while (hayCocheEntrada) {
   hayCocheEntrada = entrada.Ranging(CM) <= distanciaMaximaDeteccion;
   delay(250);

 }
}

[color=yellow]/*
   Método que escribe el display de siete segmentos.
   Puesto que usamos un decodificador BCD-7Segmentos, convertimos el
   valor decimal a binario y asignamos los bits a los correspondientes
   pines, (MSB Pin 29, LSB Pin 26)
   @param El valor decimal a escribir en el display.
*/
void escribirMarcador (byte valorDecimal) {
  for (int i = 0 ; i <= 3 ; i++) {
    digitalWrite(i + 26, bitRead(valorDecimal, i));
  }[/color]




}


void activarAlarma() {
 barrera.write(anguloApertura);    //Levanta la barrera.
 plazasLibres = 0;                 //Indicamos que no hay plazas libres
 escribirMarcador(plazasLibres);   //Escribimos en el display de siete segmentos.

   delay(100);
 }
 plazasLibres = numeroPlazas;     //Una vez finalizado el estado de alarma las plazas libres pasan a ser el total de plazas del parking.
 barrera.write(anguloCierre);     //Volvemos a bajar la barrera.
 delay(2000);
}

You have a mismatch between { and }.

I suspect that the } after delay(100) has to be removed.

void activarAlarma() {
  barrera.write(anguloApertura);    //Levanta la barrera.
  plazasLibres = 0;                 //Indicamos que no hay plazas libres
  escribirMarcador(plazasLibres);   //Escribimos en el display de siete segmentos.

  delay(100);
}
plazasLibres = numeroPlazas;     //Una vez finalizado el estado de alarma las plazas libres pasan a ser el total de plazas del parking.
barrera.write(anguloCierre);     //Volvemos a bajar la barrera.
delay(2000);
}

Please post your code between[code] and [/code]. In that case you can't colour it but that's not a problem as your yelllow is impossible to read :wink:

Note
There is a dedicated spanish section and this is not a installation and troubleshooting question; I've asked a moderator to move it to a more appropriate section.

Si tienes una respuesta en inglés es porque posteaste en el foro en inglés usando español.
Bueno espero no cometas ese error nuevamente.
Además existen normas para el posteo de un código y es como he modificado el tuyo, por favor leelas para no repetir infracciones.

Si no tienes del decodificador no sería mejor conseguirlo? porque modificar el código no es algo que no pueda hacerse pero creo que no tienes la capacidad para hacerlo.

/*
   Método que escribe el display de siete segmentos.
   Puesto que usamos un decodificador BCD-7Segmentos, convertimos el
   valor decimal a binario y asignamos los bits a los correspondientes
   pines, (MSB Pin 29, LSB Pin 26)
   @param El valor decimal a escribir en el display.
*/
void escribirMarcador (byte valorDecimal) {
  for (int i = 0 ; i <= 3 ; i++) {
    digitalWrite(i + 26, bitRead(valorDecimal, i));
  }

un decodificador de 7 segmentos es un elemento que cuesta muy barato.

Si no lo tienes debes usar muchos pines del arduino, dispones de esos pines?