HD44780_liquidC es una static library que te permite controlar un display LCD con el controlador HD44780 a 4-bits, se integro la función printf("")
para una mayor facilidad de uso.
Esta escrita en C para el uC ATmega328P (Arduino UNO) pero puedes ver el código principal en la carpeta src/ de este repositorio y extenderlo a otros uC.
Esta library ocupa 6 GPIO (RS,EN,D4..D7), solo modifica el header src/HD44480.h en el
#define
, en su configuración actual ocupa el DDRB,PORT.
Puedes ver su funcionamiento en el canal de carlosQL o tambien programarla online en Wookwi.
A parte de la función printf() cuenta con las siguientes funciones y comandos:
lcd_init()
Inicializa las salidas y configura el lcd a 4-bits, limpia la pantalla.lcd_cmd(uint8_t dato)
envia instrucciones de control, puedes ver las instrucciones de control en la parte de abajo.lcd_goto(uint8_t x, uint8_t y)
mueve el cursor a una posición (x,y).lcd_cursor(unsigned char cursor)
Activa o desactiva el cursor.lcd_clean()
Limpia toda la pantalla lcd.lcd_custom_char(unsigned char loc, unsigned char *msg)
para personalizar caracteres.
LCD_CLEAR
LCD_HOME
LCD_CURSOR_OFF
cursor underline offLCD_CURSOR_ON
cursor underline on, cursor blink onLCD_LEFT
cursor left shiftLCD_RIGHT
cursor right shiftROT_LEFT
ROT_RIGHT
Existen varias formas para usar la libreria, aquí usaremos 2 y esto dependera del IDE o Editor de texto que ocupes:
-
Microchip Studio
- Clona este repositorio.
- Abre microchip studio ve a la parte de: File>Open>Project/solution.. y busca tu repositorio descargado y selecciona el archivo .cproj.
- Oprime el boton de Build y te generara una static library .a
- En tu projecto principal das click derecho en Libraries y selecciones Add Library, buscas la static library generada.
- Opcionalmente agrega el header HD44780.h al proyecto principal para no tener warnigns del compilador.
-
PlatformIO (VScode)
- only change the directory to project where platformio.ini is located.
- copy the following comand of cli shell and press enter.
pio pkg install --library "marti-beta/HD44780_liquidC@^1.0.0"
- In the main.c write:
#include <lcd.h>
Technologies used in the project:
- C lenguage
- platformIO library
- Atmega328p (uC of Arduino)
- LCD 16x2 or 20x4
- video on youtube Carlos QL