0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树莓派怎样连接多个I2C设备

454398 来源:网络整理 作者:网络整理 2019-11-13 09:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:一些Shell命令

树莓派怎样连接多个I2C设备

树莓派使用时连接您的i2c设备之一,启动树莓派并运行

sudo i2cdetect -y 1

您将看到一个表格,如图所示。我已经安装了BMP280温度和气压传感器。根据表,i2c地址为0x76。请记下该地址。

对所有i2c设备执行此操作。

步骤2:案例1:I2c设备具有相同的地址

这始终是有问题的情况。 i2c总线可以处理多个设备,但是它们应具有不同的i2c地址。有些i2c设备具有用于设置其他i2c地址的跳线,但许多设备却没有。在这种情况下,您可以使用i2c多路复用器(硬件)来旋转i2c SDA(数据)和SCL(时钟),也可以创建其他i2c总线或更多。

我将创建两个附加总线, nl总线3和4

打开cli并运行

cd/boot

sudo nano config.txt

添加以下代码行,最好在启用spi和i2c的部分中。

dtoverlay = i2c-gpio,bus = 4,i2c_gpio_delay_us = 1, i2c_gpio_sda = 23,i2c_gpio_scl = 24

此行将在GPIO 23上以SDA和GPIO 24形式在SCL上创建一个附加的i2c总线(总线4)(GPIO 23和24为默认值)

还添加以下行以创建i2c总线3

dtoverlay = i2c-gpio,bus = 3,i2c_gpio_delay_us = 1,i2c_gpio_sda = 17,i2c_gpio_scl = 27

GPIO 17将是i2c总线4的SDA,而GPIO 27将是SCL。

Tipe控件X退出。

关于总线编号和顺序的说明:

从不使用总线0和2,它用于其他的东西像帽子上的eprom这样的板子

对于2019年4月发布的Raspbian版本:

您应该始终从config.txt中的最高总线(在这种情况下为4总线)开始,一直运行到最低总线(3总线)。

最低的总线必须始终是3总线。

如果您需要5条额外的总线,则这些总线必须双向接入7,6,5,4,3的顺序

最初编写此Instructable时,此总线顺序上的问题不存在。似乎对内核进行了更改。

关闭PI,将其关闭。将您的i2c设备连接到总线4(SDA到GPIO 23和SCL到GPIO 24),另一个连接到i2c总线3(SDA到GPIO 17和SCL到GPIO 27)。

打开pi。

运行:

sudo i2cdetect -l(小写L)

现在您将看到i2c总线3和4是也列出了。同时运行:

sudo i2cdetect -y 3

sudo i2cdetect -y 4

现在,您可以用您的编程语言使用传感器。记住要指定正确的i2c总线。

附件是流行的BMP280温度和压力传感器的一个示例。没有多路复用器可以如此快速地读取2个BMP280。

还附带了2个Sensirion SDP 810传感器的示例。再次以比过去使用的多路复用器更快的速度工作

我创建了python代码来从adafruit中读取两个新的BMP388。

将来我可能还会在https:/中添加其他传感器/github.com/JJSlabbert/Raspberry_PI_i2C_conficts

步骤3:案例2:不同的I2c地址。

简单。 i2c是一辆公共汽车。总线的目的是与多个设备通信。将设备并行连接到同一i2c总线。您可以使用总线一。

运行:

sudo i2cdetect -y 1

您将看到列出的设备。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1562

    浏览量

    131708
  • 树莓派
    +关注

    关注

    122

    文章

    2081

    浏览量

    110752
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    解锁NXP NTAG I2C plus:开启NFC应用新境界

    解锁NXP NTAG I2C plus:开启NFC应用新境界 在当今的电子世界中,NFC(近场通信)技术正以其便捷性和高效性逐渐成为众多电子设备的标配。NXP NTAG I2C plus系列
    的头像 发表于 01-08 16:45 692次阅读

    I2C 为什么只要两根线就能搞定通信?

    的项目,您可能会发现自己正在使用I2CI2C通信简介I2C结合了SPI和UART的最佳特性。使用I2C,您可以将多个从机
    的头像 发表于 01-04 09:14 2022次阅读
    <b class='flag-5'>I2C</b> 为什么只要两根线就能搞定通信?

    基于FPGA的I2C控制模块设计

    I2C_WRITE_WDATA.v模块实现I2C写时序,I2C_Controller (I2C控制器)例化了I2C_WRITE_WDATA.
    的头像 发表于 12-26 09:48 5872次阅读
    基于FPGA的<b class='flag-5'>I2C</b>控制模块设计

    NXP NTAG I2C plus:解锁NFC连接新可能

    NXP NTAG I2C plus:解锁NFC连接新可能 在当今的电子设备领域,NFC技术凭借其便捷性和高效性,在众多应用场景中得到了广泛应用。NXP推出的NTAG I2C plus系
    的头像 发表于 12-24 15:55 512次阅读

    I2C的总线协议

    I2C 总线使用两根信号线(数据线 SDA 和时钟线 SCL)在设备间传输数据。SCL 为单向时钟线,固定由主机驱动。SDA 为双向数据线,在数据传输过程中由收发两端分时驱动。 I2C 总线上可以
    发表于 12-15 08:07

    恩智浦推出多端口I3C集线器设备P3H2x4xHN

    P3H2x4xHN是一款多端口I3C集线器设备,一端通过I3C / I2C / SMBus总线连接
    的头像 发表于 12-04 10:46 2046次阅读
    恩智浦推出多端口<b class='flag-5'>I3C</b>集线器<b class='flag-5'>设备</b>P3H<b class='flag-5'>2</b>x4xHN

    I2C死锁的问题

    在实际使用过程中,I2C比较容易出现的一个问题就是死锁 ,死锁在I2C中主要表现为:I2C死锁时表现为SCL为高,SDA一直为低。 在I2C设备
    发表于 12-04 06:00

    I2C的优点介绍

    了 PCB(印刷电路板)上的连接器和走线数量,从而节省了成本并实现了紧凑的系统设计。 多主多从配置: I2C支持多主多从配置,允许多个设备与同一总线上的
    发表于 11-27 07:49

    深入剖析I2C协议

    I2C也是一种可以多主设备,多从设备的总线协议,通过地址索引,I2C可以使能所需从设备I2C
    的头像 发表于 08-21 15:10 3866次阅读
    深入剖析<b class='flag-5'>I2C</b>协议

    如何搭建高效的树莓NAS?完整安装与配置指南!

    树莓网络附属存储网络附属存储(NAS)是一种专用设备或系统,它为网络内的数据存储和管理提供了一个集中位置。与传统通常直接连接到单台计算机的外部硬盘不同,NAS
    的头像 发表于 08-13 17:45 2167次阅读
    如何搭建高效的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>NAS?完整安装与配置指南!

    树莓操作系统:版本、特性及设置完整指南!

    树莓操作系统是什么?树莓操作系统是由树莓基金会专为树莓
    的头像 发表于 07-28 18:26 1781次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>操作系统:版本、特性及设置完整指南!

    树莓小技巧:无需键盘或显示器,如何通过WiFi设置树莓

    接入,但随着我们逐渐远离台式电脑,找到键盘和显示器变得越来越困难。一旦WiFi设置完成,就可以通过SSH连接树莓,并从笔记本电脑或其他设备远程与
    的头像 发表于 06-26 15:41 1828次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>小技巧:无需键盘或显示器,如何通过WiFi设置<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?

    第十八章 I2C通信测试

    本章介绍了I2C协议,其物理层用SDA和SCL双线,支持多设备:协议层含起始/停止信号、应答机制等。还讲解W55MH32的I2C外设及初始化,并进行了通信测试代码的分析。
    的头像 发表于 06-19 17:07 1453次阅读
    第十八章 <b class='flag-5'>I2C</b>通信测试

    树莓分类器:用树莓识别不同型号的树莓

    在本教程系列的第一部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是树莓
    的头像 发表于 06-13 16:39 1516次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类器:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    简单了解I2C接口

    在电子电路的复杂世界里,各种电路模块设备需要相互通信才能协同工作 ,I2C接口就像是电路模块设备间的沟通桥梁,今天就带大家深入了解它。
    的头像 发表于 05-08 14:15 2793次阅读
    简单了解<b class='flag-5'>I2C</b>接口