#lcd #i2c #linux #aims #controlling #screens #qwiic

qwiic-lcd-rs

本库旨在通过 Linux 使用 I2C 控制 QwiicLCD 屏幕

3 个版本

使用旧的 Rust 2015

0.1.11 2022年6月25日
0.1.1 2021年10月13日
0.1.0 2021年10月13日

#3 in #screens

MIT/Apache

13KB
252 行代码(不含注释)

适用于 Rust 的 QwiicLCD I2C 屏幕库

描述

本库旨在通过 Linux 使用 I2C 控制 QwiicLCD 屏幕。其主要目标是 ARM 设备,如 RaspberryPi 或 FriendlyARM 的 NanoPi Neo。不过,在可以访问 I2C 总线的其他 Linux 发行版上应该也能工作。

目前我只有 20x4 LCD 用于测试。如果您遇到其他 Qwiic LCD 的问题,请提交问题或拉取请求。

如何使用库

将以下行添加到您的 cargo.toml

qwiic-lcd-rs = "0.1.11"

或者对于 master 分支上的最新提交使用

qwiic-lcd-rs = { git = "https://github.com/PixelCoda/QwiicLCD-Rust.git", version = "*" }

示例

extern crate qwiic_lcd_rs;

use qwiic_lcd_rs::*;
use std::thread;
use std::time::Duration;

fn main() {
    // Default LCDSize is 4x20
    let mut config = ScreenConfig::default();

    // Uncomment and modify the values below to use different screen sizes
    // config.max_rows = 2;
    // config.max_columns = 16;

    // Default Qwiic address is 0x72
    let mut screen = Screen::new(config, "/dev/i2c-1", 0x72).expect("Could not init device");

    // Set backlight to green and wait 1 second
    screen.change_backlight(0, 255, 0).unwrap();
    thread::sleep(Duration::from_secs(1));

    // Set backlight to bright white
    screen.change_backlight(255, 255, 255).unwrap();

    // Clear the screen
    screen.clear().unwrap();
    
    // Move the cursor to 0,0
    screen.move_cursor(0,0).unwrap();

    // Print text
    screen.print("Hello from Rust!").unwrap();

    // Move to the next line
    screen.move_cursor(1,0).unwrap();

    // Print text
    screen.print("It works! :)").unwrap();
}

参考

许可证

Apache 2.0 许可下发布。

通过以下方式支持并关注我的工作

购买我的 NTFs

查看我的 Github

关注我的 Facebook 页面

订阅我的 Patreon

或者捐赠加密货币

  • ADA: addr1qyp299a45tgvveh83tcxlf7ds3yaeh969yt3v882lvxfkkv4e0f46qvr4wzj8ty5c05jyffzq8a9pfwz9dl6m0raac7s4rac48
  • ALGO: VQ5EK4GA3IUTGSPNGV64UANBUVFAIVBXVL5UUCNZSDH544XIMF7BAHEDM4
  • ATOM: cosmos1wm7lummcealk0fxn3x9tm8hg7xsyuz06ul5fw9
  • BTC: bc1qh5p3rff4vxnv23vg0hw8pf3gmz3qgc029cekxz
  • ETH: 0x7A66beaebF7D0d17598d37525e63f524CfD23452
  • ERC20: 0x7A66beaebF7D0d17598d37525e63f524CfD23452
  • XLM: GCJAUMCO2L7PTYMXELQ6GHBTF25MCQKEBNSND2C4QMUPTSVCPEN3LCOG
  • XTZ: tz1SgJppPn56whprsDDGcqR4fxqCr2PXvg1R

依赖项

~2MB
~42K SLoC