LcdDisplay.HD44780.SN74HC595 (lcd_display v0.2.0) View Source
Knows how to commuticate with HD44780 type display through the 8-bit shift register SN74HC595. You can turn on/off the backlight.
Usage
iex> Circuits.SPI.bus_names()
["spidev0.0", "spidev0.1"]
config = %{
spi_bus: "spidev0.0", # SPI bus name
rows: 2, # the number of display rows
cols: 16, # the number of display columns
font_size: "5x8" # "5x10" or "5x8"
}
# Start the LCD driver and get the initial display state.
{:ok, display} = LcdDisplay.HD44780.SN74HC595.start(config)
# Run a command and the display state will be updated.
{:ok, display} = LcdDisplay.HD44780.SN74HC595.execute(display, {:print, "Hello world"})
Pin assignment
This module assumes the following pin assignment:
SN74HC595 | HD44780 |
---|---|
QA | - |
QB | RS (Register Select) |
QC | E (Enable) |
QD | DB7 (Data Bus 7) |
QE | DB6 (Data Bus 6) |
QF | DB5 (Data Bus 5) |
QG | DB4 (Data Bus 4) |
QH | LED |
Link to this section Summary
Functions
Executes the specified command and returns a new display state.
Initializes the LCD driver and returns the initial display state.
Link to this section Types
Specs
config() :: %{ optional(:rows) => String.t(), optional(:cols) => pos_integer(), optional(:font_size) => pos_integer() }
The configuration options.
Specs
display_driver() :: LcdDisplay.HD44780.Driver.t()
Link to this section Functions
Executes the specified command and returns a new display state.
Specs
start(config()) :: {:ok, display_driver()} | {:error, any()}
Initializes the LCD driver and returns the initial display state.