1个不稳定版本
0.1.0 | 2020年11月27日 |
---|
#10 在 #signal-handler
13KB
239 行
红外遥控接收器
此crate提供了一种信号解码器,用于解码常用于LED灯带的44键红外遥控器。当红外传感器连接到GPIO引脚时,此crate可以将红外信号解码为哪个按钮被按下。
用法
这将读取GPIO 4的信号并打印它们
use pi_ir_remote::read_ir_remote;
use pi_ir_remote::PrintSignalHandler;
fn main() {
let handler = PrintSignalHandler::new();
read_ir_remote(4, Box::new(handler));
}
你可以通过实现SignalHandler trait来创建自己的信号处理器
pub trait SignalHandler {
fn handle_signal(&mut self, signal: &Signal);
}
工作原理
红外遥控器发送脉冲长度编码的信号。在许多特殊脉冲中,有短脉冲和长脉冲,分别对应0和1,从而可以传输二进制数据。
每个按钮都与一个32位单词相关联。此库在Signal枚举中包含了二进制代码到按钮的映射。
依赖项
~1.5MB
~36K SLoC