Buenas tardes a la comunidad
Mi problema es que quiero salir de un bucle de un estado, les dejo mi codigo aca:
if(estado=='a'){ //
digitalWrite(Rotar, HIGH);
digitalWrite(Disparo, LOW);
}
if(estado=='b'){ //
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
delay (100);
digitalWrite(Rotar, HIGH);
digitalWrite(Disparo, LOW);
delay (2000);
digitalWrite(Rotar, HIGH);
digitalWrite(Disparo, HIGH);
delay (2000);
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
Quisiera que me hiciera la funcion y luego quede en estado stand by, no se quede en el bucle infinito
Gracias por atención 
Código incompleto. Para salir de un bucle se usa break;
Buenas tardes, gracias por tu comentario.
No me había puesto a detallar las normas del foro, lo siento por eso.
int Rotar = 2;
int Disparo = 4;
int estado = 'c';
void setup() {
Serial.begin(9600);
pinMode(Rotar, OUTPUT);
pinMode(Disparo, OUTPUT);
}
void loop() {
if(Serial.available()>0){ // lee el bluetooth y almacena en estado
estado = Serial.read();
}
if(estado=='a'){ // Boton de rotación
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
}
if(estado=='b'){ // Boton de disparo, rota unos segundos y habilita el disparo
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
delay (100);
digitalWrite(Rotar, HIGH);
digitalWrite(Disparo, LOW);
delay (2000);
digitalWrite(Rotar, HIGH);
digitalWrite(Disparo, HIGH);
delay (2000);
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
Este seria el código completo, como ves estoy haciendo via Bluethoot. Lo podría hacer de dos maneras, como dices o con un while, para que haga la función siempre y cuando tenga el botón presionado y pare cuando lo deje de presionar. Pero no se como lo pondría en el código en si. Agradezco tu respuesta. Un saludo.
Sigue incompleto, te falta cerrar dos llaves.
const byte Rotar = 2;
const byte = 4;
void setup() {
Serial.begin(9600);
pinMode(Rotar, OUTPUT);
pinMode(Disparo, OUTPUT);
}
void loop() {
while (Serial.available()){ // lee el bluetooth y almacena en estado
char estado = Serial.read();
switch (estado){
case 'a'): // Boton de rotación
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
break;
case 'b': // Boton de disparo, rota unos segundos y habilita el disparo
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
delay(100);
digitalWrite(Rotar, HIGH);
digitalWrite(Disparo, LOW);
delay (2000);
digitalWrite(Rotar, HIGH);
digitalWrite(Disparo, HIGH);
delay(2000);
digitalWrite(Rotar, LOW);
digitalWrite(Disparo, LOW);
break;
case 'c': //Otro boton
//Algo mas
break;
}
}
}
Muchas gracias por sus comentarios, me han ayudado muchísimo para comprender mas la programación del arduino y hacer mas cosas con él. Soy nuevo programando arduino asi que me va genial cualquier tipo de ayuda. Muchas gracias de nuevo por ayudarme, cracks!