LcdDisplay
LcdDisplay
allows you to control a Liquid-crystal display (LCD) like Hitachi HD44780 from Elixir.
Installation
You can install LcdDisplay
by adding lcd_display
to your list of dependencies in mix.exs
:
def deps do
[
{:lcd_display, "0.0.20"}
]
end
Usage
As an example, if you want to control a Hitachi HD44780 type display through
the 16-bit I/O expander PCF8575,
you can use LcdDisplay.HD44780.PCF8575
module as a display driver.
Start an LCD driver and get a PID
driver_module = LcdDisplay.HD44780.PCF8575
driver_config = %{
display_name: "display 1", # the identifier
i2c_bus: "i2c-1", # I2C bus name
i2c_address: 0x27, # 7-bit address
rows: 2, # the number of display rows
cols: 16, # the number of display columns
font_size: "5x8" # "5x10" or "5x8"
}
pid = LcdDisplay.start_display(driver_module, driver_config)
Run commands
Please refer to the LcdDisplay.HD44780.Driver
documentation for supported display commands.
LcdDisplay.execute(pid, {:print, "Hello world"})
LcdDisplay.execute(pid, :clear)
Drivers
LcdDisplay.HD44780.GPIO
LcdDisplay.HD44780.PCF8575
LcdDisplay.HD44780.MCP23008
LcdDisplay.HD44780.MCP23017
Thanks
ExLCD
for inspiration