Go Down

Topic: cambiar setup segun condicion (Read 794 times) previous topic - next topic

Jossema106

Hola!
Tengo el siguiente problema,  utilizo un receptor infrarrojo el cual para que funcione necesita ir.begin() ; en el setup y tambien utilizo la shield de ethernet la cual no funciona si pongo eso en el setup, por lo que he podido comprobar con el ir.begin() ; arduino queda pendiente de la recepcion de infrarrojos y no acepta el envio desde la web.

Entonces habia pensado, poner alguna condicion en la que si pulso un botón cargue un setup con este código y si no cargue el setup de internet por llamarlo de alguna forma, pero como el setup solo se ejecuta una vez no consigo hacerlo.

Tienen alguna idea?

Gracias
Proyecto:
http://duinoblog.blogspot.com.es/

Sergegsx


Hola!
Tengo el siguiente problema,  utilizo un receptor infrarrojo el cual para que funcione necesita ir.begin() ; en el setup y tambien utilizo la shield de ethernet la cual no funciona si pongo eso en el setup, por lo que he podido comprobar con el ir.begin() ; arduino queda pendiente de la recepcion de infrarrojos y no acepta el envio desde la web.

Entonces habia pensado, poner alguna condicion en la que si pulso un botón cargue un setup con este código y si no cargue el setup de internet por llamarlo de alguna forma, pero como el setup solo se ejecuta una vez no consigo hacerlo.

Tienen alguna idea?

Gracias


No termino de entenderte, pon tus dos setups aqui a ver a q te refieres.

curro92

Hola,

has probado a poner en el setup() algo así?:

  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH)
  {
       // tendrías que tener el botón apretado al encender
       ir.begin() ;   
   }
  else
  { 
     // tomas la decisión correspondiente 
   }

Jossema106

Esa era mi idea pero como el setup solo se ejecuta una vez en el inicio la descarte al no funcionar lo achaque a eso.

Por eso estoy mas perdido.


Gracias
Proyecto:
http://duinoblog.blogspot.com.es/

Jossema106

lo reactivo a ver si alguien encuentra algo
Proyecto:
http://duinoblog.blogspot.com.es/

Modifica la librería del receptor infrarrojos, para que no se quede a la espera de recibir códigos.

Lisergio

create tus dos setups para entrar en el arranque y luego vuelve al loop...

void setup()
{
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH)
  {
  setup_1();
   }
  else
  { 
  setup_2();
   }
}
void setup_1()
  {
  ir.begin();
  loop();
  }

void setup_2()
  {
   // los que quieras en el otro setup
  loop();
  }

void loop()
{

}


mas o menos asi tengo creadas las entradas a diferentes menus en el arranque de mi proyecto... depende que boton tengas pulsado al iniciar entra en unos menus o en otros...

prueba así....


PascuaL

No inicialices las funciones en el setup, podrás hacerlo en el loop (creo).

Quote

buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH)
  {
//inicializo  IR
   }
  else
  { 
     //inicializo ethernet
   }

Go Up