LcdDisplay

Hex.pm API docs CI

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

Thanks