El codifo fuente es este:
Código: |
/* Autor: Aitor Martin Fecha: 27-12-2013 Titulo: 007 Posicionar texto en el LCD Placa: Arduino uno Post: Código de dominio publico. Se puede distribuir y modificar libremente, siempre y cuando se mencione al autor y se proporcione un enlace a su web. -------------------------------------------------------------------------------------- LA funcion: lcd_posiciona (16, 2, 1, 5, "Hola Mundo"); 16 = Numero de columnas del LCD. 2 = Numero de filas del LCD. 1 = Fila en la que quieremos mostrar el texto (la primera es 1). 5 = Modo de alineacion. "Hola Mundo" = El texto que vamos a mostrar. Modos de alineacion: 1 = Izquierda 2 = Derecha 3 = Centro 4 = Aleatorio aciendo caso a la fila 5 = Aleatorio y no hace caso a la fila */ #include <Wire.h> //Para usar el I2C #include <LiquidCrystal_I2C.h>//Para usar el display I2C LiquidCrystal_I2C lcd(0x27,16,2); // 0x27 es la direccion del LCD 16x2 void setup() { lcd.init(); //Iniciamos LCD lcd.backlight(); //Enciende la iluminacion } void loop() { lcd_posiciona (16, 2, 1, 1, "Alin. Derecha"); //Llamada a la funcion delay(2000); //Espera 2 segundos lcd.clear(); //Borra el LCD lcd_posiciona (16, 2, 1, 2, "Alin. Izquierda"); //Llamada a la funcion delay(2000); //Espera 2 segundos lcd.clear(); //Borra el LCD lcd_posiciona (16, 2, 1, 3, "Alin. Centro"); //Llamada a la funcion delay(2000); //Espera 2 segundos lcd.clear(); //Borra el LCD for (int i=0; i<10; i++) { lcd_posiciona (16, 2, 1, 4, "Alin. Aleatoria"); //Llamada a la funcion lcd_posiciona (16, 2, 2, 4, "Respeta fila"); //Llamada a la funcion delay(1000); //Espera 2 segundos lcd.clear(); //Borra el LCD } for (int i=0; i<10; i++) { lcd_posiciona (16, 2, 1, 5, "Hola Mundo"); delay(1000); lcd.clear(); } } void lcd_posiciona (int lcd_largo, int lcd_alto, int lcdy, int centrar, String texto) { int lcdx = 0; int largo = texto.length(); int sobrante = lcd_largo - largo; int random_sobrante = random (0, (sobrante + 1)); int random_y = random (0, lcd_alto); lcdy = lcdy - 1; switch (centrar) { case 1: lcdx = 0; break; case 2: lcdx = sobrante; break; case 3: lcdx = sobrante / 2; break; case 4: lcdx = random_sobrante; break; case 5: lcdx = random_sobrante; lcdy = random_y; break; default: delay(0);// sentencias } lcd.setCursor(lcdx, lcdy);//Manda texto a las cordenadas calculadas lcd.print (texto); } |
No hay comentarios:
Publicar un comentario