Muy buenos dias amigos, excelente el foro! resulta que me plantearon un problema ( Hace dos meses recien que estoy conociendo Arduino), en el cual tengo que ingresar un valor de temperatura maxima y valor de temperatura minima,
entonces se pide que con un boton, aparezca en el display para ingresar la TMAX
presionandolo otra vez que aparezca para ingresar la TMIN
y presionandolo otra vez se guarden los valores
No le encuentro la vuelta, ya que si fueran solo dos opciones encontre en google de usar una variable booleana, pero estoy hace dias y no lo puedo resolver. Si alguien me da una mano se lo agradeceré . Saludos!!
int button = 0;
int button_pin = 2;
int type_button = 0;
int old_t_button = 0:
void setup(){
pinMode(button_pin, INPUT);
}
void loop(){
button = digitalRead(button_pin);
if(button == 1){
type_button = old_t_button++;
}
switch (type_button) {
case 1:
// presionado 1ra vez/primera función
type_button = 0; // evita ejecutar case más de 1 vez
break;
case 2:
// presionado 2da vez/segunda función
type_button = 0; // evita ejecutar case más de 1 vez
break;
case 3:
// presionado 3ra vez/tercera función
type_button = 0; // evita ejecutar case más de 1 vez
old_t_button = 0; // comienza el ciclo nuevamente
break
}
}
Puedes hacer algo como eso. Usando un switch case puedes tener cuantas funciones quieras. No probé el código, pero si hay algún error, por lo menos la idea ya debería quedarte clara.
Creas una variable tipo int o byte.
La variable tiene de inicio 0, que es la opción primera.
Si pulsas un vez, aumenta el valor de la variable a 1. variable++.
En la variable la tienes un 1. 0 + 1 = 1.
Ya tienes el valor 1 para ir a un Switch.
Vuelve a pulsar otra vez el pulsador.
Donde actualmente tienes la variable = 1, le sumas variable++, ya tienes un 2 almacenado y llega a la tarcera opción del Switch.
Si vuelves a pulsar el pulsador a la cuarta vez, resetea la variable o añade variable = 0.
Accederás a la primera opción otra vez del Switch.