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