Hola a todos, la verdad es que soy muy nuevo por aquí y este es mi primer post.
Escribo porque la verdad es que no he encontrado la solución por ningún lado y los ejemplos que he visto del código son muy liosos.
El proyecto que tengo en mente es con un pulsador variar entre las distintas opciones de un "menu" para un led (encendido, parpadeo, fading, apagado,...)
Mi idea era iniciar un contador que contase las veces que se pulsaba el pulsador y lo guardase en una variable. Esa variable se compara en un switch y se saca a una función que realice la acción adecuada.
El último intento que probe fue este:
int ledPin = 12;
int pulsador = 13;
int posicion;
int estado;
void setup() {
pinMode (ledPin, OUTPUT);
pinMode (pulsador, INPUT);
}
void loop (){
if (pulsador == HIGH)
posicion ++;
if (posicion == 1)
estado ("permanente");
if (posicion == 2)
estado ("apagado");
if (posicion == 3);
estado ("difuminado");
if (posicion == 4)
estado ("parpadeo");
if (posicion == 5)
estado ("0");
switch (estado) {
case "permanente":
digitalWrite (ledPin = HIGH);
break;
case "apagado":
digitalWrite (ledPin, LOW);
break;
case "difuminado":
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
// fade out from max to min in increments of 5 points:
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
break;
case "parpadeo":
digitalWrite (ledPin, HIGH);
delay (250);
digitalWrite (ledPin, LOW);
delay (250);
break;
case "0":
posicion = 0;
}
Pero me da este error compilando: 'estado' cannot be used as function.
A ver si alguien me podría ayudar a usar la función break.
Muchas gracias de antemano
Un saludo, Jorge