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)