#adc #driver #analog #keypad #embedded-hal-driver

no-std kc11b04

KC11B04 4键模拟键盘驱动程序

4个版本 (2个重大更新)

0.3.0 2023年10月24日
0.2.1 2023年10月22日
0.2.0 2023年10月22日
0.1.0 2023年10月20日

1128嵌入式开发 中排名

每月下载量 21

MIT/Apache

22KB
192

KC11B04 驱动程序 − 最新版本 文档徽章

Rust语言编写的KC11B04 4键模拟键盘驱动程序。

使用分压电路和模拟引脚来感应按键压的3引脚模块。

KC11B04 image

接线说明

VCC 引脚上的电压应与ADC配置的参考电压(最大值)相对应。

例如,Arduino Uno的默认值是与5V的工作电压相匹配。但ADC可以通过使用AREF引脚的外部参考来配置。在这种情况下,VCC 应与AREF相匹配。

示例

use kc11b04::{Key, KC11B04, MAP_10BIT};

let mut adc = /* Configure your ADC using its HAL */
let mut ad_pin = /* Set the pin connected to AD as analog input */

// Create the keypad driver. Taking ownership of the pin,
// providing a map that matches the resolution of your ADC.
let mut keypad = KC11B04::new(ad_pin, MAP_10BIT);

// Somewhere within loop { }
// Read current key state.
match keypad
	.key_state(&mut adc)
	.expect("Problem reading ADC channel")
{
	Some(Key::K4) => { /* K4 key being pressed */ }
	Some(Key::K3) => { /* K3 key being pressed */ }
	Some(Key::K2) => { /* K2 key being pressed */ }
	Some(Key::K1) => { /* K1 key being pressed */ }
	None => { /* Either nothing, or multiple keys pressed */ }
}

MSRV & 稳定性

此crate在稳定版Rust 1.60及以上版本上编译。它可能在较旧的rust版本上仍然工作,但这没有保证。升级MSRV被认为是SemVer重大变更。

依赖关系

~69–410KB