项目简介
本项目是基于AVR微控制器的I²C到USB桥接解决方案,可让任何I²C设备(如Wii Nunchuk、温度传感器、AD转换器、显示器等)通过USB接口连接到计算机。项目提供了Linux、Windows和MacOS的驱动程序,支持即插即用,无需额外的软件配置。
项目的主要特性和功能
- 兼容性:与i2c - tiny - usb项目兼容,支持Linux内核中的i2c - tiny - usb驱动程序。
- 硬件支持:基于ATmega32U4微控制器,具备硬件I²C和USB功能,性能优于原始的软件实现。
- 即插即用:无需额外软件,支持多种操作系统。
- 简单易用:通过USB接口供电,减少外部电源需求。
- 开源特性:项目完全开源,用户可自由修改和扩展。
安装使用步骤
硬件准备
- 将ATmega32U4微控制器通过USB连接到计算机,连接I²C设备的SDA和SCL引脚,根据需要添加上拉电阻(如2.2kΩ电阻连接到+Vcc)。
- 若需要调试,可连接UART TX和RX引脚。
软件安装
- 确保已安装
avr - gcc
编译器和avrdude
编程器,若使用过Arduino IDE,可能已安装这些工具。 - 复制项目。
- 获取依赖库:
bash cd I2C - Mega - USB git submodule update --init --recursive
- 编译固件:
bash make
- 使用编程器将固件烧录到ATmega32U4微控制器中:
bash make avrdude
使用示例
- 在Linux系统中,使用
i2c - tools
工具前,加载i2c_dev
内核模块。 - 检测I²C设备:
bash i2cdetect -l i2cdetect -y 9
- 与I²C设备通信,如使用BMP180传感器读取数据:
bash i2cset -y 9 0x77 0xf4 0x2e i2cget -y 9 0x77 0xf6 i 3
- 将I²C设备与内核驱动关联:
bash echo bmp085 0x77 | sudo tee /sys/class/i2c - adapter/i2c - 9/new_device
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】