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

    文章

    1346

    浏览量

    120794
  • 树莓派
    +关注

    关注

    113

    文章

    1637

    浏览量

    104712
收藏 人收藏

    评论

    相关推荐

    最简单的总线通讯!I2C通讯总线的原理原来这么好懂

    通讯I2C
    安泰仪器维修
    发布于 :2024年01月02日 11:16:31

    i2c总线最多可以接多少设备

    请问i2c总线最多可以接多少设备
    发表于 09-26 06:38

    OpenHarmony:如何使用HDF平台驱动控制I2C

    短距离通信的场景。I2C以主从方式工作,通常有一个主设备和一个或者多个设备,主从设备通过SDA(SerialData)串行数据线以及SCL
    发表于 09-12 15:18

    I2C总线的使用与编程

    数据。 主发送器模式:设备向从属接收器发送数据。 主接收器模式:设备从从属发送器接收数据。 从接收器模式:从主发送器接收多个数据字节。 从发送器模式:向主接收器发送多个数据字节
    发表于 09-04 07:23

    全面掌握面试必考题I2C协议 - 第13节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:08:34

    全面掌握面试必考题I2C协议 - 第12节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:07:43

    全面掌握面试必考题I2C协议 - 第11节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:06:53

    全面掌握面试必考题I2C协议 - 第10节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:06:03

    全面掌握面试必考题I2C协议 - 第6节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:02:42

    如何控制USB HID连接到EEPROM设备上来控制NUC240的I2C数据传输

    应用:通过USB HID接口从个人电脑一侧通过USB HID接口对I2C NUC240的I2C转让协议进行控制,以进入EEPROM设备 BSP 版本: NUC230/240 Series BSP
    发表于 08-30 06:47

    如何将USB HID连接到EEPROM设备控制NUC240的I2C数据传输

    应用:通过USB HID接口从个人电脑一侧通过USB HID接口对I2C NUC240的I2C转让协议进行控制,以进入EEPROM设备 BSP 版本: NUC230/240 Series BSP
    发表于 08-22 08:08

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第7节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:07:44

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第4节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:05:14

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第3节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:04:23

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第2

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:03:33