#hat #rainbow #raspberry-pi #display #sensor #raspberry

rainbow-hat-rs

Raspberry Pi的Rainbow HAT的Rust驱动程序

3个不稳定版本

0.2.1 2021年7月25日
0.2.0 2020年8月24日
0.1.0 2020年8月12日

#1246 in 硬件支持

42 每月下载次数
用于 applehat

MIT 许可证

51KB
1K SLoC

Rainbow HAT的Rust驱动程序

Build Status MIT licensed Minimum rustc version Documentation

此仓库包含了一个非官方的用于Rainbow HAT的Rust驱动库,适用于Raspberry Pi的Raspberry Pi OS。
有关官方Python驱动,请参阅:https://github.com/pimoroni/rainbow-hat
有关官方AndroidThings驱动,请参阅:https://github.com/androidthings/contrib-drivers/tree/master/rainbowhat

此库依赖于https://github.com/golemparts/rppal以访问Raspberry Pi的外设。

当前支持的外设

外设 支持 结构体
多彩LED X rainbow_hat_rs::apa102::APA102
四个14段数字显示 X rainbow_hat_rs::alphanum4::Alphanum4
三个电容式触摸按钮 X rainbow_hat_rs::touch::Buttons
温度和压力传感器
蓝色、绿色和红色LED X rainbow_hat_rs::lights::Lights
蜂鸣器 X rainbow_hat_rs::buzzer::Buzzer

参考

用法

在您的Cargo.toml中添加对rainbow-hat-rs的依赖。

[dependencies]
rainbow-hat-rs = "0.2.0"

在任何外设上调用new()以构建一个新的实例。

use rainbow_hat_rs::lights::Lights;
use rainbow_hat_rs::alphanum4::Alphanum4;
use rainbow_hat_rs::touch::Buttons;
use rainbow_hat_rs::apa102::APA102;
use rainbow_hat_rs::buzzer::Buzzer;

let mut apa102 = APA102::new()?;
let mut lights = Lights::new()?;
let mut buttons = Buttons::new()?;
let mut alphanum = Alphanum4::new()?;
let mut buzzer = Buzzer::new()?;

示例

请参阅文件夹examples

多彩LED

let mut apa102 = APA102::new()?;

 // Sets color for all LED.
 apa102.set_all(255, 0, 0, 0.5);

 // Sets color for first LED.
 apa102.set_pixel(0, 0, 255, 0, 0.5);

// Shows on the device.
apa102.show()?;

灯光

let mut lights = Lights::new()?;

// Turn on red and green lights
lights.rgb(true, true, false);

// Turn off red light
lights.red.off()

// Turn on blue light
lights.blue.on()

// Toggle green light
lights.green.toggle()

按钮

let mut buttons = Buttons::new()?;

// Identify if button A is pressed
if buttons.a.is_pressed() {
    println!("Button A touched!");
}

显示

let mut alphanum = Alphanum4::new()?;

// Print a message on the display
alphanum.print_str("1234", false);
alphanum.show()?;

蜂鸣器

let mut buzzer = Buzzer::new()?;

// Play a note
buzzer.midi_note(69, 0.3)?;

注意

在处理Raspberry Pi的外设时,请务必小心,特别是如果您将任何外部组件连接到GPIO引脚。不当使用可能导致永久损坏。

版权(c)2020 Yann Nicolas。在MIT许可证下发布。

依赖关系

~380KB