smarti65:
Quiero encender i apagar un led desde el movil i desde un interruptor físico conectado en un pin digital. Encender o apagar desde el movil solo si que funciona, pero cuando lo intento programar para que encienda i apague desde el movil i desde el interrupor no lo consigo. Solo se enciende desde el interruptor i desde el movil no funciona.
¿Alguna idea o codigo que provar?
Gràcias
A ver si sacamos algo en claro ...tienes un interruptor de dos posiciones,si solo enciendes y apagas desde un mismo sitio ,esta claro que cada vez que acciones el interruptor ,si esta encendido se apaga y si esta apagado se enciende...hasta ahi bien no? Si queremos accionar desde dos puntos diferentes,necesitamos o bien dos interruptores conmutados ,o bien dos pulsadores tipo timbre (pulsamos y vuelve a su sitio ) .Si usas conmutados , entonces necesitas que de alguna manera el arduino (y la aplicacion mobil) sepa que has accionado el conmutado y viceversa.Si tienes dos pulsadores tipo timbre es mas facil porque simplemente inviertes el estado:si esta encendido se apaga y si esta apagado se enciende desde cualquier punto.Si usas pulsadores:
char luzpisci ;
bool estado = false;
#define PINBOTON 2 // Pin de entrada pulsador fisico
#define LED 13
void setup() {
pinMode( PINBOTON, INPUT);
pinMode( LED , OUTPUT);
Serial.begin(9600);
digitalWrite( LED , estado );
}
void loop() {
if ( Serial.available() > 0 ) {
luzpisci = Serial.read();
if (luzpisci == '1') { // Solo mandas 1
estado = !estado;
digitalWrite( LED , estado );
}
}
if (digitalRead(PINBOTON) == HIGH) {
estado = !estado;
digitalWrite(LED,estado);
}
}
Si no ,es un poco mas complicado.