lcd-lcm1602-i2c

Crates.iolcd-lcm1602-i2c
lib.rslcd-lcm1602-i2c
version0.3.0
sourcesrc
created_at2022-03-19 11:09:55.139684
updated_at2024-09-09 18:45:41.122821
descriptionI2C driver for LM1602 LCD displays.
homepagehttps://github.com/KuabeM/lcd-lcm1602-i2c.git
repositoryhttps://github.com/KuabeM/lcd-lcm1602-i2c.git
max_upload_size
id553131
size21,410
Korbinian Maier (KuabeM)

documentation

README

LCD LM1602 I2C driver

Driver to write characters to LCD displays with a LM1602 connected via i2c like this one with 16x2 characters. It requires a I2C instance implementing [embedded_hal::blocking::i2c::Write] and a instance to delay execution with [embedded_hal::blocking::delay::DelayMs].

Usage:

const LCD_ADDRESS: u8 = 0x27; // Address depends on hardware, see link below

// Create a I2C instance, needs to implement embedded_hal::blocking::i2c::Write, this
// particular uses the arduino_hal crate for avr microcontrollers like the arduinos.
let dp = arduino_hal::Peripherals::take().unwrap();
let pins = arduino_hal::pins!(dp);
let mut i2c = arduino_hal::I2c::new(
    dp.TWI, //
    pins.a4.into_pull_up_input(), // use respective pins
    pins.a5.into_pull_up_input(),
    50000,
);
let mut delay = arduino_hal::Delay::new();

let mut lcd = lcd_lcm1602_i2c::Lcd::new(&mut i2c, &mut delay)
    .address(LCD_ADDRESS)
    .cursor_on(false) // no visible cursos
    .rows(2) // two rows
    .init().unwrap();

This site describes how to find the address of your LCD devices.

There is a similar crate lcd_1602_i2c but that did not work with this display.

Commit count: 3

cargo fmt