#mp3 #trigger #i2c #sparkfun #qwiic #spark-fun #com-products-14714

qwiic-mp3-trigger

i2c接口连接到SparkFun Sqiic MP3 Trigger(https://www.sparkfun.com/products/14714)

2个版本

使用旧Rust 2015

0.1.2 2018年6月10日
0.1.1 2018年6月9日
0.1.0 2018年6月9日

834音频

29每月下载次数

MIT许可证

11KB
152

rust-qwiic-mp3-trigger

Build status License crates.io Documentation

用于Sparkfun Qwiic MP3 Trigger(https://www.sparkfun.com/products/14714)的Rust包。

概要

extern crate i2cdev;
extern crate qwiic_mp3_trigger;

use i2cdev::linux::LinuxI2CDevice;

fn main() {
    let i2cdev = LinuxI2CDevice::new("/dev/i2c-1", 0x37).unwrap();
    let mut mp3_trigger = qwiic_mp3_trigger::QwiicMP3Trigger::new(i2cdev).unwrap();

    mp3_trigger.ping().unwrap();

    let version: String = mp3_trigger.get_version().unwrap();
    let song_count: u8 = mp3_trigger.get_song_count().unwrap();
    let card_status: qwiic_mp3_trigger::CardStatus = mp3_trigger.get_card_status().unwrap();

    mp3_trigger.play_track(1).unwrap();
    mp3_trigger.play_filenumber(1).unwrap();
    mp3_trigger.play_next().unwrap();
    mp3_trigger.play_previous().unwrap();

    mp3_trigger.stop().unwrap();
    mp3_trigger.pause().unwrap();

    let song_name: String = mp3_trigger.get_song_name().unwrap();
    let play_status: qwiic_mp3_trigger::PlayStatus = mp3_trigger.get_play_status().unwrap();

    mp3_trigger.set_eq(qwiic_mp3_trigger::EqualizerMode::Bass).unwrap();
    mp3_trigger.set_volume(31).unwrap();

    mp3_trigger.set_address(0x88).unwrap();
}

配置i2c

在这个模块中,树莓派比attiny85快得多。如果不降低速率,通信会不稳定。将以下内容添加到/boot/config.txt并重启。

dtparam=i2c_baudrate=50000

调试

此包使用log包进行debug!trace!日志记录。通过初始化一个记录器(如simple_logger)来启用它。

依赖关系

~2–3.5MB
~60K SLoC