domingo, 3 de junio de 2018

Apagar y encender un visualizador LCD 16x2 con módulo adaptador IIC I2C mediante un interruptor de botón o un código en Arduino



Se puede encender y apagar el display LCD 16x2 tanto fisicamente como con la ayuda de un código.  Esta opción me parece muy interesante cuando se desea que algunos componentes electrónicos de un circuito que consumen demasiados recursos si permanecen encendidos todo el tiempo, solo consuman corriente cuando así lo decida.

Para ello, es necesario comprar un módulo adaptador IIC I2C para el display LCD1602 similar al que aparece en la imagen.


Este módulo adaptador IIC I2C para el display LCD1602 nos permite usar pocos cables protoboard y deja libres muchos pines en la placa Arduino que se pueden usar para otros fines.

Yo soldé el visualizador LCD 16x2 al módulo adaptador IIC I2C con un soldador lápiz y estaño para electrónica.

Si desea apagar un visualizador LCD  con el módulo adaptador IIC I2C para el display LCD1602 similar al que aparece en la imagen, debe remover el plug que se señala en la imagen y verá que la pantalla se apaga por completo. También puede  crear un pequeño circuito con un interruptor y un par de cables conectándolos al par de pines que quedan desnudos al remover el plug.



Un internauta me ha facilitado  un código y después de unas pequeñas modificaciones, he conseguido que funcione correctamente. Con lcd.backlight(); se enciende el backlight y con   lcd.noBacklight();  se apaga el backlight del visualizador LCD.

Código:
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // establece la dirección LCD a 0x27 for  16 carácteres y 2 lineas del display LCD.
//*****************************************************
void setup()
{
  lcd.begin();  // inicializa e imprime mensajes a través del visualizador LCD
  lcd.backlight();
}
//****************************************************
void loop()
{
   lcd.clear();
  lcd.backlight(); // turn on backlight
  lcd.setCursor(0, 0);
  lcd.print("Test On backlight");
  lcd.setCursor(0, 1);
  lcd.print("Hello, world!");
  lcd.setCursor(0, 2);
  lcd.print("Arduino Uno  !");
  delay(3000);
  lcd.clear();
  lcd.setCursor(0, 3);
  lcd.print("Test Off backlight");
  delay(3000);
  lcd.noBacklight(); // turn off backlight
  delay(3000);
}