Go Down

Topic: botones (Read 1 time) previous topic - next topic

tahakora

¡Hola!

He conectado  un LCD de 20x4, tres botones con las ATMEGA1280 Arduino.

1.boton cuando se pulsa, el cursor se mueva hacia arriba y seleccione la línea
2.boton  cuando se pulsa, el cursor se mueva hacia abajo y seleccione la línea
3. Cuándo se pulsa el 3.boton la cadena contenida en la línea seleccionada como una función ke le llama y ejecute.
Existe una función  para eso o tengo que aplicarla de nuevo?

De adelantado les doy las gracias y espero sus comentarios.

Saludos

curro92

Hola
yo creo que tendrás que hacer dos cosas cuando se pulse el  3. botón: selecionar la 3ª línea, y llamar a una función que haga algo. No creo que la línea selecionada pueda llamar a una función.

Sergegsx

pon cualquier codigo que hayas creado, y veremos si va por el buen camino ;)

SrDonGato

#3
Mar 25, 2011, 01:40 pm Last Edit: Mar 25, 2011, 03:31 pm by SrDonGato Reason: 1
yo tengo una función que me ha funcionado bien en menus del lcd, la funcion devuelve el boton que se ha pulsado. lo tengo hecho tan solo con 4 botones pero se puede hacer con más o con menos. Espero que te ayude

Code: [Select]

// la funcion devuelve el boton que se ha pulsado
int botonpulsado()

{
int var=0;
int buttonState1;
int buttonState2;
int buttonState3;
int buttonState4;

 buttonState1 = digitalRead(boton1);
 delay(100);
 while (buttonState1 == HIGH) {
   var=1;
buttonState1 = digitalRead(boton1);
   delay(100);
 }
 buttonState2 = digitalRead(boton2);
   while (buttonState2 == HIGH) {
   var=2;
    buttonState1 = digitalRead(boton2);
   delay(100);
 }
 buttonState3 = digitalRead(boton3);
   while (buttonState3 == HIGH) {
   var=3;
    buttonState1 = digitalRead(boton3);
   delay(100);
 }
 buttonState4 = digitalRead(boton4);
   while (buttonState4 == HIGH) {
   var=4;
    buttonState1 = digitalRead(boton4);
   delay(100);
}

return var;

}


en la declaracion de variables al principio del programa pongo los pines que voy a utilizar como entradas de los botones

Code: [Select]

int boton1 = 10;
int boton2 = 11;
int boton3 = 12;
int boton4 = 13;


y luego la forma en que la utilizo ...

Code: [Select]

switch (botonpulsado()) {
   case 1:
       i//aqui pones lo que quieres que haga en caso de pulsar 1
       delay(100);
     break;
   case 2:
       //aqui pones lo que quieres que haga en caso de pulsar 2
       delay(100);
       break;
   case 3:
       //aqui pones lo que quieres que haga en caso de pulsar 3
       delay(100);
       break;
   case 4:
       //aqui pones lo que quieres que haga en caso de pulsar 4
       delay(100);
     break;
  //default:
     // si nada coincide, ejecuta el "default"
     // el "default" es opcional
 }


saludos

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy