Hola, así logres juntar los dos no van a funcionar ya que en esta parte del código
val=digitalRead(BOTON);
if (val==HIGH){
digitalWrite(LED,HIGH);
}
else { digitalWrite(LED,LOW);
}
Lo que está haciendo es que cuando aplastas el boton enciende el led lo sueltas lo apaga por lo que si tu lo intentas prender desde el bluetooth lo que va a pasa es que el bluetooth lo va a encender y el botón lo va a apagar, por lo que yo te recomendaria que mediante una pulsación lo enciendas y con otra lo apagues y luego con el bluetooth se pueda encender, si te parece esta idea propone como la desarrollarías para guiarte con el código. Como quieres que funcione, si podrias explicar mejor su funcionamiento.
Claro, tienes razón, porque se debe de guardar el estado anterior del pulsador, si no en el momento que no haya pulso se apagará.
En efecto, es a como tu mencionas que lo quiero realizar.
Agradezco la ayuda que me puedas brindar.
Lo que más me genera duda es como poder unir el otro if
{
if( Serial.available()>0)
{
estado = Serial.read();
}
switch( estado)
{
case 'I':
digitalWrite(led1, HIGH);
break;
}
}
Ya que ocupo que la condición sea o el pulsador o que presione la letra "I" en la app bluetooth
Segun entiendo tu quieres "cambiar el estado" (conmutar) del LED desde el boton o desde bluetooth sin distincion. Es decir si LED esta apago que se prenda y si esta prendido que se apague.
Una manera simple de hacerlo es asi:
digitalWrite(LED, !digitalRead(LED));
Con el boton pulsador debes tener cuidado por un efecto llamado: rebote.
Entonces creo que esto es lo que necesitas, ahora por favor analizalo como funciona y no olvides poner una resistencia pull down al botón o si quieres conectar sin esta resistencia puedes utilizar la interna del arduino pero esta es pull up por lo que tendrás que cambiar algunas partes en el código ya que con resistencia pull up mientras no esta presionado el botón detecta un 1 y cuando es presionado detecta un 0 y el boton debe estar conectado a GND en este caso. Cualquier duda no dudes en preguntar.