MeccaNoids  
   

Principal
Arriba

Módulos Pantalla LCD16x2 I2c y Pantalla LCD20x4 I2c


Última modificación: 30 de octubre de 2017

Estos Módulos permiten añadir a nuestra Tarjeta MeccaNano, una pantalla LCD 16x2 o LCD20x4 con interface I2c , probarla y verla funcionar

Objetivo: poder incluirla en sus proyectos Meccanoides 

Set Pantalla LCD16x2 con interface I2c:

FOTO + Link a venta

Incluye:

  • 1 X Pantalla LCD 16x2 con Interfase I2c soldada

  • 1 Cable de 20 cm con 4 hilos (VCC, GND, SDA, SCL)

Set Pantalla LCD20x4 con interface I2c:

FOTO + Link a venta

Incluye:

  • 1 X Pantalla LCD 20x4 con Interfase I2c soldada

  • 1 Cable de 20 cm con 4 hilos (VCC, GND, SDA, SCL)

TUTORIAL

Introducción:

Una Pantalla LCD permite tener una interfaz legible en sus proyectos Meccanoides. En este Tutorial Presentamos:

  • Los conceptos y características básicas de la Pantalla LCD16x2 o 20x4

  • Las Pantallas LCD16x2 y 20x4 con Interface I2c

  • Su conexión a la Tarjeta MeccaNano,

  • Un programa Arduino sencillo para probarla y verla funcionar con su Tarjeta MeccaNano

Lecturas / consultas sugeridas:

XXXXX¿?¿?

 

Conceptos y características de las Pantallas básicas LCD16x2 y LCD20x4 (sin Interface I2c)

 

El LCD (Liquid Crystal Display) o pantalla de cristal líquido es un dispositivo con pantalla transparente, empleado para la visualización de caracteres alfanuméricos. Estos caracteres son iluminados por una luz de fondo detrás de la pantalla. Este dispositivo está gobernado por un microcontrolador el cual dirige todo su funcionamiento.

  • LCD de 16x2, quiere decir que dispone de 2 Líneas de 16 caracteres cada una.

  • LCD de 20x4, quiere decir que dispone de 4 Líneas de 20 caracteres cada una.

 

Conexión de una Pantalla LCD básica (sin interface I2c)

 

Pines de alimentación:

  • Vss: Gnd

  • Vdd: +5 voltios

  • Vee: corresponde al pin de contraste que podemos regular con un potenciómetro de 10K conectado a Vdd.

Pines de control:

  • RS: Corresponde al pin de selección de registro de control de datos (0) o registro de datos(1). Es decir el pin RS funciona paralelamente a los pines del bus de datos. Cuando RS es 0 el dato presente en el bus pertenece a un registro de control/instrucción. y cuando RS es 1 el dato presente en el bus de datos pertenece a un registro de datos o un carácter.

  • RW: Corresponde al pin de Escritura (0) o de Lectura (1). Nos permite escribir un dato en la pantalla o leer un dato desde la pantalla.

  • E: Corresponde al pin Enable o de habilitación. Si E(0) esto quiere decir que el LCD no esta activado para recibir datos, pero si E(1) se encuentra activo y podemos escribir o leer desde el LCD.

Pines de Bus de datos:

El Bus de transmisión bidireccional de datos, comprende desde los pines D0 a D7.

Ver más informaciones sobre la Pantalla LCD16x2 (sin interface I2c)

Ver más informaciones sobre la Pantalla LCD20x4 (sin interface I2c)

Pantalla LCD16x2 o LCD20x4 con Interface I2c

Asociar una Interface I2c a una Pantalla LCD permite simplificar su conexión y su utilización:

  • Reduce a solamente 2 conexiones / cables para las comunicaciones (SDA y SCL) más 2 cables para su alimentación en 5Vdc (VCC y GND)

  • Permite instalar varios componentes compatibles I2c en estos mismos cables: varios LCD, sensores, y otros elementos electrónicos compatibles I2c

  • Aunque permite varios tipos de conexiones / comunicaciones entre un Microprocesador (la Tarjeta Arduino Nano) y elementos electrónicos, nuestra Tarjeta MeccaNano privilegia / aprovecha la Conexión / comunicación bajo el Protocolo de comunicación  I2c

Conexión de una Pantalla LCD16x2 o LCD20x4 con interface I2c a la Tarjeta MeccaNano

Los Set Pantalla LCD 16x2 y Pantalla 20x4 con Interfase I2c incluyen un cable de 20 cm con 4 hilos (VCC, GND, SDA, SCL), el cual permite conectar la Pantalla LCD desde los 4 pines de su interfase I2c a uno de los puertos de 4 pines I2c de la Tarjeta MeccaNano

Incluir Foto Conexiones

 

Pantalla LCD con Interfase I2c

Tarjeta MeccaNano

Pines para Dispositivos I2c

GND

GND

VCC

5V

SDA

SDA

SCL

SCL

 

 

Librería LiquidCrystal_I2c para la programación de la Pantalla LCD16x2 con Interface I2c

Para facilitar la programación de una Pantalla LCD con Interface I2c, utilizaremos una Librería que permite simplificar la utilización de una pantalla LCD con el Protocolo I2c, reduciendo los esfuerzos de programación.

 

Instalación de la Librería LiquidCrystal_I2c

Liberia Wire.h:  Esta librería viene instalada con el I.D.E de Arduino, a instalar el programa Arduino (I.D.E.) en su computadora esta librería ha sido también automáticamente instalada
Libreria LiquidCrystal_I2C.h: Descargar esta librería en este Link: //https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
      Ojo, si existe otra libreria para LCD instalada, eliminarla o removerla en otro directorio antes de descargar la librería LiquidCrystal_I2c.h
      Puede consultar la Carpeta de librerías en el I.D.E de Arduino: seleccionar <Programa / Incluir Librería>
      Si requerido, puede consultar el Tutorial sobre Librerias Arduino, Link: http://XXXXXX
 

Programa sencillo para probar la Pantalla LCD con la Tarjeta MeccaNano

Con este ejemplo de programa, la Pantalla LCD con interface I2c indicara los caracteres que escribimos en el Monitor Serial del I.D.E. de Arduino

Puede abrir directamente el Programa en su IDE de Arduino  o copiarlo y pegarlo en su IDE de Arduino

/* MeccaNano / Set LCD 16x2 I2c Version Española
 * MeccaNano_Set LCD16x2_I2c_20170908_ES_R0
 * Modelo de LCD Model utilizado: 16 caracteres 2 lineas
 *               : Referencia: LCM1602 IIC V1 (ver indicación del Modelo detras de la Pantalla LCD, abajo y a la derecha) / Link: XXXXX
                 : address 0x3F
             Se puede utilizar otros Modelos, pero chequear y confirmar el adress, por ejemplo unos modelos utilizan el adress 0x27
 * Ver el Tutorial, Link: http://XXXX            

/*-----( Librerias requeridas )-----*/
#include <Wire.h>  // Esta libreria viene instalada con el I.D.E de Arduino, a instalar el programa Arduino (I.D.E.) en su computadora esta 
librería ha sido también automáticamente instalada
#include <LiquidCrystal_I2C.h> // Descargar esta libreria en este Link: //https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
   // Ojo, si existe otra libreria para LCD instalada, eliminarla o removerla en otro directorio antes de descargar la libreria LiquidCrystal_I2c.h
   // Puede consultar la Carpeta de librerias en el I.D.E de Arduino: seleccionar <Programa / Incluir Libreria>
   // Si requerido, puede consultar el Tutorial sobre Librerias Arduino, Link: http://XXXXXX

//-----( Declaracion de Constantes )-----  No es necesario para este programa

//-----( Declaracion de objetos )  -----  
/* Establecer / definir el adress 0x3F para el Modelo de LCD utilizado. Para otros Modelos de LCD: address 0x27, o otras adress menos comunes
   Establecer / definir los pines para la conexion de la Interface I2c, : (addr, en,rw,rs,d4,d5,d6,d7,bl,blpol) */
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Establecer / definir el adress, 0x3F o otra posible

//-----( Declaracion de Variables )-----  No es necesario para este programa

void setup()   /*----( SETUP: se ejecuta una sola vez )----*/
{
  Serial.begin(9600);// Se define la velocidad para la comunicación Serial con el Monitor Serial del I.D.E de Arduino(en Baudios por segundo)
  lcd.begin(16,2);// Establecer/definir el Modelo de LCD utilizadoa, en est caso es un LCD16x2 = 16 caracteres (de 0 a 15), 2 lineas (de 0 a 1)

// ------- Generamos 3 parpadeos rapidos de la luz de fondo, para señalar el inicio del LCD -------------
  for(int i = 0; i< 3; i++)
  {
    lcd.backlight(); // Se pone la luz de fondo
    delay(250);
    lcd.noBacklight(); // Se quita la Luz de fondo
    delay(250);
  }
  lcd.backlight(); // Se terminan los parpadeos y reponemos la lus de fondo

//-------- Se escriben caracteres en la Pantalla LCD ------------------
  lcd.setCursor(0,0); // Se poner el cursor arriba y en la izquierda = columna 0, linea 0
  lcd.print("Hello Meccanoids"); // donde esta el cursor se escribe: Hello Meccanoids
  delay(1000);
  lcd.setCursor(0,1); // se poner el cursor en: columna 0, linea 1
  lcd.print("MeccaNano SetLCD"); // donde esta el cursor se escribe: MeccaNano SetLCD
  delay(8000); // dejamos un tiempo de pausa / espera de 8 segundos (1 segundo = 1000)

//-------- Se espera que el usuario escribe caracteres el la Pantalla Serial del I.D.E de Arduino, para que la Pantalla LCD los presenta -----
// El usuario debe abrir la Pantalla Serial del I.D.E. de Arduino, para escribir caracteres, los cuales seran presentados por la Pantalla LCD.
// El usuario debe chequear que la Pantalla del I.D.E. del Arduino sea con las opciones: <9600baudio> y <sin ajuste de linea>)
  lcd.clear(); // se limpiar / vacia la Pantalla LCD
  lcd.setCursor(0,0); // Se poner el cursor arriba y en la izquierda = columna 0, linea 0
  lcd.print("Abre PantallaIDE"); // Se escribe: Abrir Pantalla IDE, para pedir al usuario abrir la Pantalla Serial I.D.E. Arduino
  lcd.setCursor(0,1); // Se poner el cursor en: columna 0, linea 1
  lcd.print("Tecla Caracteres"); // Se escribe: Tecla Caracteres, para que el usuario escriba caracteres en la Pantalla Serial I.D.E. Arduino
                                 // los cuales seran presentados por la Pantalla LCD durante el Lazo / Iteracion que sigue
} // Se termina el SetUp del Progama

void loop()   /*----( LOOP: Lazo que se ejecuta iterativamente hasta que se apague el sistema )----*/ 
{
  {
    // Cuando hay caracteres escritos por el usuario en la Pantalla Serial del I.D.E de Arduino ...
    if (Serial.available()) {
      delay(100); // Se espera un corto momento (0,1 segundo) para dejar llegar el mensaje entero
      lcd.clear(); // se limpiar / vacia la Pantalla LCD
      // se lee los caracteres 
      while (Serial.available() > 0) {
        // Se presentan los caracteres en la Pantalla LCD
        lcd.write(Serial.read());
      }
    }
  }
}// --( Final del Lazo, se regresa al inicio del Lazo para una nueva iteracion )-- */
// Final del Programa Arduino


 

 


Principal | Tarjetas MeccaNoids | Set Meccanoids | Archivar | Buscar | Discusiones | Info. de contacto

 Copyright o cualquier otra instrucción del propietario aquí.
Si tiene problemas o preguntas relacionadas con este sitio Web, póngase en contacto con [CorreoElectronicoProyecto].
Última actualización: 17 de septiembre de 2017.