|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial

____________________________

31A.- Pantalla LCD. Caracteres especiales.

- El cambio de caracteres no se realiza desde las librerías de LCD ya están en la ROM de la tarjeta.

- El módulo LCD contiene una memoria EPROM en donde están los caracteres que se pueden escribir.

- Hay dos tipos de ROM:

ROM Code: A00 japonesa y ROM Code: A02 europea. La mayoría de nuestras pantallas tienen la EPROM japonesa.

- Con la A00 solo podemos obtener la eñe minúscula.

- En este archivo, concretamente en las páginas 16 y 17 observamos los distintos tipos de caracteres: HD44780.pdf
____________________________

1.- Recorrer los 256 posibles caracteres.

- Va mostrando el número del carácter en decimal, binario y el caracter.

- Observa que el número del carácter lo escribe mediante lcd.print y el carácter mediante lcd.write.

256.ino
 
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com

#include <Wire.h>
#include <LiquidCrystal_I2C.h>    
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup()
{
  lcd.begin(16,2);// Columnas y filas de LCD
  Serial.begin(9600);
  delay(2000);
}

void loop() {

      // LCD
      for(int i=0; i<=255; i++){
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print(i);
      lcd.setCursor(5,0);
      lcd.print(i, BIN);
      lcd.setCursor(0,1);
      byte z = (int) i;;
      lcd.write(z);
      delay(500);
      }
}

____________________________

2.- Crear nuevos caracteres.

- Consultamos la página 17 de este documento y vamos adaptando nuestros caracteres: HD44780.pdf

- En este ejemplo he creado la Ñ, ú, á y ó.

crear.ino
 
// Juan Antonio Villalpando
// juana1991@yahoo.com
// kio4.com

#include <Wire.h>
#include <LiquidCrystal_I2C.h>    
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

// Ñ
byte n2[8] = {
 B01101,
 B10010,
 B00000,
 B10001,
 B11001,
 B10101,
 B10011,
 B10001
};

// ú
byte u2[8] = {
 B00010,
 B00100,
 B00000,
 B10001,
 B10001,
 B10001,
 B10011,
 B01101
};

// á
byte a2[8] = {
 B00010,
 B00100,
 B00000,
 B01110,
 B00001,
 B01111,
 B10001,
 B01111
};

// ó
byte o2[8] = {
 B00010,
 B00100,
 B00000,
 B01110,
 B10001,
 B10001,
 B10001,
 B01110
};

void setup()
{
  lcd.begin(16,2);// Columnas y filas de LCD
  Serial.begin(9600);
  
  lcd.createChar(1, n2);
  lcd.createChar(2, u2);
  lcd.createChar(3, a2);
  lcd.createChar(4, o2);

 for(int n = 1; n < 5; n++)
 {
   lcd.setCursor(n,0);
   lcd.write(n);
 }
   lcd.createChar(0, n2);
   lcd.setCursor(0,1);
   lcd.write("El ");
   lcd.write(1);
   lcd.write("and");
   lcd.write(2);
}

void loop() {
}

________________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información