littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于AVR微控制器的IC to USB桥接项目

项目简介

本项目是基于AVR微控制器的I²C到USB桥接解决方案,可让任何I²C设备(如Wii Nunchuk、温度传感器、AD转换器、显示器等)通过USB接口连接到计算机。项目提供了Linux、Windows和MacOS的驱动程序,支持即插即用,无需额外的软件配置。

项目的主要特性和功能

  1. 兼容性:与i2c - tiny - usb项目兼容,支持Linux内核中的i2c - tiny - usb驱动程序。
  2. 硬件支持:基于ATmega32U4微控制器,具备硬件I²C和USB功能,性能优于原始的软件实现。
  3. 即插即用:无需额外软件,支持多种操作系统。
  4. 简单易用:通过USB接口供电,减少外部电源需求。
  5. 开源特性:项目完全开源,用户可自由修改和扩展。

安装使用步骤

硬件准备

  1. 将ATmega32U4微控制器通过USB连接到计算机,连接I²C设备的SDA和SCL引脚,根据需要添加上拉电阻(如2.2kΩ电阻连接到+Vcc)。
  2. 若需要调试,可连接UART TX和RX引脚。

软件安装

  1. 确保已安装avr - gcc编译器和avrdude编程器,若使用过Arduino IDE,可能已安装这些工具。
  2. 复制项目。
  3. 获取依赖库: bash cd I2C - Mega - USB git submodule update --init --recursive
  4. 编译固件: bash make
  5. 使用编程器将固件烧录到ATmega32U4微控制器中: bash make avrdude

使用示例

  1. 在Linux系统中,使用i2c - tools工具前,加载i2c_dev内核模块。
  2. 检测I²C设备: bash i2cdetect -l i2cdetect -y 9
  3. 与I²C设备通信,如使用BMP180传感器读取数据: bash i2cset -y 9 0x77 0xf4 0x2e i2cget -y 9 0x77 0xf6 i 3
  4. 将I²C设备与内核驱动关联: bash echo bmp085 0x77 | sudo tee /sys/class/i2c - adapter/i2c - 9/new_device

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】