Go Down

Topic: Problemas Con Un Menu En Un LCD (Read 643 times) previous topic - next topic

Adrianalex

Estoy haciendo unas pruebas, para desplazarme en un menú programado en un LCD de 16x2, el problema que me encuentro, no doy movido una flecha en ese menú, alguien me podría ayudar?

Muchas gracias de antemano

Este es el LCD con el cursor, que no doy movido:



y este es el código que estoy usando:
Code: [Select]

#include <LiquidCrystal.h> //Libreria LCD

LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Pines LCD

byte flechaD [8] = { //Flecha Derecha
B01000,
B01100,
B01110,
B01111, 
B01110,
B01100,
B01000,
B00000,
};
byte flechaI [8] = { //Flecha Izquierda
B00010,
B00110,
B01110,
B11110, 
B01110,
B00110,
B00010,
B00000,
};

void setup() {
  lcd.begin(16,2);//tamaño del lcd
  lcd.createChar(0, flechaD); //flechad
  lcd.createChar(1, flechaI); //flechai
  //configuracion de los primeros botones de pruebas
  pinMode (13, OUTPUT);
  pinMode (12, INPUT);
  pinMode (11, INPUT);
  pinMode (10, INPUT);
  pinMode (9, INPUT);
  pinMode (8, INPUT);
}

void loop(){ ;

bool cursory = 0;
byte cursorx = 0;

bool cursorderecha;
bool cursorizquierda;
bool cursorarriba;
bool cursorabajo;
bool cursorcentro;


lcd.clear();

lcd.setCursor(byte(cursorx) , bool(cursory));
lcd.write(byte(0));

lcd.setCursor(1, 0);//colocacion de cada parte del lcd x y
lcd.print("1");
lcd.setCursor(3, 0);
lcd.print("2");
lcd.setCursor(5, 0);
lcd.print("3");
lcd.setCursor(7, 0);
lcd.print("4");
lcd.setCursor(9, 0);
lcd.print("5");
lcd.setCursor(11, 0);
lcd.print("6");
lcd.setCursor(13, 0);
lcd.print("7");
lcd.setCursor(15, 0);
lcd.print("8");
lcd.setCursor(1, 1);
lcd.print("1");
lcd.setCursor(3, 1);
lcd.print("2");
lcd.setCursor(5, 1);
lcd.print("3");
lcd.setCursor(7, 1);
lcd.print("4");
lcd.setCursor(9, 1);
lcd.print("5");
lcd.setCursor(11, 1);
lcd.print("6");
lcd.setCursor(13, 1);
lcd.print("7");
lcd.setCursor(15, 1);
lcd.print("8");
cursorderecha = digitalRead(8) ;
cursorizquierda = digitalRead(9) ;
cursorarriba = digitalRead(10) ;
cursorabajo = digitalRead(11) ;
cursorcentro = digitalRead(12) ;
delay(250);

if(cursorderecha == HIGH && cursorx <= 15){
  cursorx + 2;
}
else if(cursorizquierda == HIGH && cursorx >= 0){
  cursorx - 2;
}
else if(cursorarriba == HIGH && cursory == 1){
  cursory - 1;
}
else if(cursorabajo == HIGH && cursory == 0){
  cursory + 1;
}
else if (cursorcentro== HIGH){
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
 
delay(1);
}

surbyte

Porque la gente iintenta hacer menúes cuando hay tantas librerías disponibles con menúes?
En el playground de este blog hay un apartado para menués lcd, que hacen todo esto mucho mas fácil.
Deberías hacer una investigación antes de continuar, a menos que sea una tarea escolar y debas hacerlo asi.
En todo caso sería bueno que lo plantearas.

Adrianalex

#2
Apr 05, 2016, 04:42 am Last Edit: Apr 05, 2016, 06:01 am by Adrianalex
Porque la gente iintenta hacer menúes cuando hay tantas librerías disponibles con menúes?
En el playground de este blog hay un apartado para menués lcd, que hacen todo esto mucho mas fácil.
Deberías hacer una investigación antes de continuar, a menos que sea una tarea escolar y debas hacerlo asi.
En todo caso sería bueno que lo plantearas.
:o vale, lo desconocía completamente, buscare información, gracias

[Editado]:las he estado mirando todas, y ninguna la entiendo { http://playground.arduino.cc/Main/LibraryList#Menu }, seguiré buscando e investigando, cualquier ayuda será bienvenida

surbyte

#3
Apr 05, 2016, 02:07 pm Last Edit: Apr 05, 2016, 02:07 pm by surbyte
Todas requieren su tiempo.
Yo no entiendo la tuya?
Las demas tienen documentación la tuya ni siquiera esta documentada.
Mira los puntos de vista.

Hay ejemplos para entenderlas. Prueba MEMWIZ o PHI_MENU.
No se que quieres hacer pero hay muchas opciones.

Adrianalex

Todas requieren su tiempo.
Yo no entiendo la tuya?
Las demas tienen documentación la tuya ni siquiera esta documentada.
Mira los puntos de vista.

Hay ejemplos para entenderlas. Prueba MEMWIZ o PHI_MENU.
No se que quieres hacer pero hay muchas opciones.
Actualmente me he puesto a investigar "phi_prompt", que en teoría es la evolución directa de "phi_menu"
gracias

Go Up