Error al compilar

Buenas tardes a todos, tengo un problema a la hora de programar mi código en arduino; mi problema es el siguiente.

Tengo el código hecho lo copie de un del cual estoy aprendiendo a utilizar esta herramienta, pero el problema es que me aparece el error <expected unqualified-id before 'switch'>. No entiendo que pasa y lo he intentado todo. Me gustaría que si alguien sabe como resolverlo me ayudase. Muchas gracias y que tengan una buena tarde.

const byte buttonPin= 4; //pin para el botón
const byte redLedPin=5; //pin para el led rojo
const byte yellowLedPin=6; //pin para el led amarillo
const byte greenLedPin=7; //pin para el led verde
const byte personLedPin=13; //pin para led peatones

int lightStatus=0;

void setup(){
  pinMode (personLedPin, OUTPUT);
  pinMode (redLedPin, OUTPUT);
  pinMode (yellowLedPin, OUTPUT);
  pinMode (greenLedPin, OUTPUT);
  //configuracion para el pulsador
  pinMode(buttonPin, INPUT);
  digitalWrite (buttonPin, HIGH); //Se activa la resistencia pull-up
}

void loop(){//si se pulsa
  if(!digitalRead(buttonPin)){//si se pulsa
    lightStatus=0;//se fuerza a rojo para coches)
  }
}
//dependiendo de la luz que se debe mostrar tiene distints parámetros la llamada


switch(lightStatus)>{
  case 0: //rojo
  showLight(redLedPin, 4000); //3segundos
  break;

  case1: //verde
  showLight (greenLedPin, 3000); //2 segundos
  case2: //amarillo
  showLight(yellowLedPin, 2000); //1 segundo
  break;
}



/**
 * Enciende el led que se le indique.
 * Los parámetros son el led a encender y el tiempo que se debe estar encendido
 */
 void showLight(int ledPin, int maxTime){
  static int lastPin=0; //ultimo led encendido
  static unsigned long startTime=0; //tiempo desde que se encendio el led 
  /*Si el led actualmente encendido no concuerda con el que se debe encender
   * entonces apagar el led encendido, encender el nuevo y poner el contador de tiempo a 0
   */
  if (ledPin!=lastPin){
    //mirar el semaforo de peatones
    if(ledPin==redLedPin){
      //si es rojo para coches, es verde para peatones
      digitalWrite(personLedPin, HIGH);}{else{
        digitalwrite(personLedPin, LOW);
      }
      startTime=millis();
      digitalWrite(lastPin, LOW);
      lastPin=ledPin;
      digitalWrite(ledPin, HIGH);
            delay(5); //por seguridad
      
    }

    unsigned long elapsedTime =millis() - startTime; //tiempo pasado desde que se encendio el led
    if((elapsedTime)>maxTime){//si es mayor que o esperado, pasar al siguiente ciclo de led
      lightStatus++;
      if(lighStatus>2)lightStatus=0; //solo hay 3 led comenzamos de nuevo por el 0
    }
}

semaforofallo.ino (2.12 KB)

1. Lee las normas del foro.
2. Debes editar tu hilo para usar un título que corresponde siempre a lo que consultas.
Novato no dice nada respecto a tu consulta.
3. Si te refieres a un error, debes postearlo usando etiquetas. No veo el error por lo tanto tenemos que adivinar. Bajar el archivo que no subiste debidamente y entonces entender de qué hablas.
Te digo esto para que en adelante te manejes de otra forma, la forma indicda en las normas del foro, okay?

El error que A MI me aparece es

D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino:27:1: error: expected unqualified-id before 'switch'
switch(lightStatus)>{
^
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino: In function 'void showLight(int, int)':
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino:55:42: error: expected '}' before 'else'
digitalWrite(personLedPin, HIGH);}{else{
^
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino:55:42: error: expected '}' before 'else'
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino:56:39: error: 'digitalwrite' was not declared in this scope
digitalwrite(personLedPin, LOW);
^
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino: At global scope:
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino:66:43: error: 'startTime' was not declared in this scope
unsigned long elapsedTime =millis() - startTime; //tiempo pasado desde que se encendio el led
^
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino:67:5: error: expected unqualified-id before 'if'
if((elapsedTime)>maxTime){//si es mayor que o esperado, pasar al siguiente ciclo de led
^
D:/Downloads/Arduino/borrar/Nueva carpeta (2)/semaforofallo.ino:71:1: error: expected declaration before '}' token

La verdad que no se si hago bien en corregirlo porque muchos errores son de haberlo mal copiado.
Ejemplo digitalwrite cuando se escribe digitalWrite

COmo lo copiaste como un CAOS, no hay sangria o sea no vas indentando las llaves como corresponde, hay llaves dobles que no tenían porque estar.

El principal error era el switch que estaba luego de termiando el loop y para colmo al final del switch pusiste un >

En fin... si copias, puedes tomarte el tiempo de revisar y te aseguro que no tendrías un solo error a menos que tu ejemplo también estuviera mal.

Ve a Documentación => indice de temas tutoriales => Clases de Youtube y aprende ahi con esas clases.
Hay mas guias tmb

const byte buttonPin= 4; //pin para el botón
const byte redLedPin=5; //pin para el led rojo
const byte yellowLedPin=6; //pin para el led amarillo
const byte greenLedPin=7; //pin para el led verde
const byte personLedPin=13; //pin para led peatones

int lightStatus=0;

void setup(){
  pinMode (personLedPin, OUTPUT);
  pinMode (redLedPin, OUTPUT);
  pinMode (yellowLedPin, OUTPUT);
  pinMode (greenLedPin, OUTPUT);
  //configuracion para el pulsador
  pinMode(buttonPin, INPUT);
  digitalWrite (buttonPin, HIGH); //Se activa la resistencia pull-up
}

void loop(){//si se pulsa
  if(!digitalRead(buttonPin)){//si se pulsa
    lightStatus=0;//se fuerza a rojo para coches)
  }

  //dependiendo de la luz que se debe mostrar tiene distints parámetros la llamada

  switch(lightStatus) {
      case 0: //rojo
              showLight(redLedPin, 4000); //3segundos
              break;

      case 1: //verde
              showLight (greenLedPin, 3000); //2 segundos
              break;
      case 2: //amarillo
              showLight(yellowLedPin, 2000); //1 segundo
              break;
  }
}


/**
 * Enciende el led que se le indique.
 * Los parámetros son el led a encender y el tiempo que se debe estar encendido
 */
void showLight(int ledPin, int maxTime){
  static int lastPin=0; //ultimo led encendido
  static unsigned long startTime=0; //tiempo desde que se encendio el led 
  /*Si el led actualmente encendido no concuerda con el que se debe encender
   * entonces apagar el led encendido, encender el nuevo y poner el contador de tiempo a 0
   */
  if (ledPin!=lastPin){
    //mirar el semaforo de peatones
    if (ledPin==redLedPin){
       //si es rojo para coches, es verde para peatones
       digitalWrite(personLedPin, HIGH);
    }
    else {
       digitalWrite(personLedPin, LOW);
    }
    startTime = millis();
    digitalWrite(lastPin, LOW);
    lastPin=ledPin;
    digitalWrite(ledPin, HIGH);
    delay(5); //por seguridad
      
  }

  unsigned long elapsedTime =millis() - startTime;  //tiempo pasado desde que se encendio el led
  if ((elapsedTime)>maxTime) {                      //si es mayor que o esperado, pasar al siguiente ciclo de led
      lightStatus++;
      if (lightStatus>2)
          lightStatus=0;                //solo hay 3 led comenzamos de nuevo por el 0
  }
}

NOTA: cuando copies y pegues algo en este foro, si ocupa menos de 9000 caracteres incluído tu texto debes hacerlo usando etiquetas. Nada de adjuntarlo como hiciste.
Y además tomate el trabajo de darle Auto Formato con CONTROL+T del IDE Arduino.
Asi todo luce cómodo a la vista.