tengo dificultad para configurar un botón que al pulsarlo una vez me muestre en un lcd la lectura de la temperatura del sensor 1 y si lo vuelvo a pulsar (el mismo boton), me muestre la misma información pero del sensor 2, si alguien me podría guiar se lo agradecería mucho.
Yo usaria un sw-case, algo asi:
int pulsador= //Pin de entrada que usas
int seleccion=0; //guardamos la variable para usarla en el sw-case
boolean estado_pulsador=false;
boolean estado_ant_pul=false;
void setup()
{
//aqui ya sabes
}
void loop()
{
estado_pulsador=digitalRead(pulsador);
if (estado_pulsador && !estado_ant_pul){
seleccion++;
}
estado_ant_pul=estado_pulsador;
if (seleccion>2)
seleccion=0; // esto es para que a la tercera pulsacion regrese a apagado, o puedes poner "1" para que regrese al sensor 1
switch (seleccion) {
case :0
//TODO APAGADO
break;
case :1
//MUESTRA DATOS DE SENSOR 1
break;
case :2
//MUESTRA DATOS DE SENSOR 2
break;
}
}
Una opcion mas simples es
int pulsador= //Pin de entrada que usas
bool seleccion = false;
boolean estado_pulsador=false;
boolean estado_ant_pul=false;
void setup()
{
//aqui ya sabes
}
void loop() {
estado_pulsador=digitalRead(pulsador);
if (estado_pulsador && !estado_ant_pul){
seleccion = !seleccion; // con cada presion cambias de sensor
}
estado_ant_pul=estado_pulsador;
if ((seleccion) {
//MUESTRA DATOS DE SENSOR 1
}
else {
//MUESTRA DATOS DE SENSOR 2
}
}
Es otra manera de hacerlo.