0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

樹莓派怎樣連接多個I2C設(shè)備

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-13 09:27 ? 次閱讀

步驟1:一些Shell命令

樹莓派怎樣連接多個I2C設(shè)備

樹莓派使用時連接您的i2c設(shè)備之一,啟動樹莓派并運行

sudo i2cdetect -y 1

您將看到一個表格,如圖所示。我已經(jīng)安裝了BMP280溫度和氣壓傳感器。根據(jù)表,i2c地址為0x76。請記下該地址。

對所有i2c設(shè)備執(zhí)行此操作。

步驟2:案例1:I2c設(shè)備具有相同的地址

這始終是有問題的情況。 i2c總線可以處理多個設(shè)備,但是它們應(yīng)具有不同的i2c地址。有些i2c設(shè)備具有用于設(shè)置其他i2c地址的跳線,但許多設(shè)備卻沒有。在這種情況下,您可以使用i2c多路復(fù)用器硬件)來旋轉(zhuǎn)i2c SDA(數(shù)據(jù))和SCL(時鐘),也可以創(chuàng)建其他i2c總線或更多。

我將創(chuàng)建兩個附加總線, 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上創(chuàng)建一個附加的i2c總線(總線4)(GPIO 23和24為默認(rèn)值)

還添加以下行以創(chuàng)建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退出。

關(guān)于總線編號和順序的說明:

從不使用總線0和2,它用于其他的東西像帽子上的eprom這樣的板子

對于2019年4月發(fā)布的Raspbian版本:

您應(yīng)該始終從config.txt中的最高總線(在這種情況下為4總線)開始,一直運行到最低總線(3總線)。

最低的總線必須始終是3總線。

如果您需要5條額外的總線,則這些總線必須雙向接入7,6,5,4,3的順序

最初編寫此Instructable時,此總線順序上的問題不存在。似乎對內(nèi)核進行了更改。

關(guān)閉PI,將其關(guān)閉。將您的i2c設(shè)備連接到總線4(SDA到GPIO 23和SCL到GPIO 24),另一個連接到i2c總線3(SDA到GPIO 17和SCL到GPIO 27)。

打開pi。

運行:

sudo i2cdetect -l(小寫L)

現(xiàn)在您將看到i2c總線3和4是也列出了。同時運行:

sudo i2cdetect -y 3

sudo i2cdetect -y 4

現(xiàn)在,您可以用您的編程語言使用傳感器。記住要指定正確的i2c總線。

附件是流行的BMP280溫度和壓力傳感器的一個示例。沒有多路復(fù)用器可以如此快速地讀取2個BMP280。

還附帶了2個Sensirion SDP 810傳感器的示例。再次以比過去使用的多路復(fù)用器更快的速度工作

我創(chuàng)建了python代碼來從adafruit中讀取兩個新的BMP388。

將來我可能還會在https:/中添加其他傳感器/github.com/JJSlabbert/Raspberry_PI_i2C_conficts

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

簡單。 i2c是一輛公共汽車??偩€的目的是與多個設(shè)備通信。將設(shè)備并行連接到同一i2c總線。您可以使用總線一。

運行:

sudo i2cdetect -y 1

您將看到列出的設(shè)備。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1477

    瀏覽量

    123096
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1696

    瀏覽量

    105457
收藏 人收藏

    評論

    相關(guān)推薦

    RISC V的I2C操作

    。tsuData中,1代表10ns;Timeout中,1表示10nstLow和tHigh的1代表10ns10.1.3 軟件部分(Risc V)l? I2C通信主要包括以下幾個部分:1、主設(shè)備發(fā)送起始位(Start
    的頭像 發(fā)表于 11-01 11:06 ?98次閱讀

    物聯(lián)網(wǎng)嵌入式軟件中的I2C總線設(shè)計詳解

    基本概念、特點、通信協(xié)議,以及在不同場景下的高級應(yīng)用和最佳實踐。I2C接口只有2根信號線,總線上可以連接多個設(shè)備,硬件實現(xiàn)簡單,可擴展性強。
    的頭像 發(fā)表于 09-29 16:21 ?240次閱讀
    物聯(lián)網(wǎng)嵌入式軟件中的<b class='flag-5'>I2C</b>總線設(shè)計詳解

    I2C基本指南

    電子發(fā)燒友網(wǎng)站提供《I2C基本指南.pdf》資料免費下載
    發(fā)表于 09-10 09:40 ?0次下載
    <b class='flag-5'>I2C</b>基本指南

    使用C2000 I2C模塊連接EEPROM

    電子發(fā)燒友網(wǎng)站提供《使用C2000 I2C模塊連接EEPROM.pdf》資料免費下載
    發(fā)表于 08-27 09:53 ?0次下載
    使用<b class='flag-5'>C</b>2000 <b class='flag-5'>I2C</b>模塊<b class='flag-5'>連接</b>EEPROM

    簡單認(rèn)識I2C通信協(xié)議

    I2C(Inter-Integrated Circuit)通信協(xié)議是由飛利浦公司(現(xiàn)為恩智浦半導(dǎo)體)開發(fā)的一種簡單、雙向二線制同步串行總線協(xié)議。自1982年發(fā)布以來,I2C協(xié)議因其高效、靈活和易于實現(xiàn)的特點,在電子設(shè)備間的數(shù)據(jù)交
    的頭像 發(fā)表于 07-25 18:06 ?1247次閱讀

    I2C總線協(xié)議的工作原理和尋址格式

    I2C(Inter-Integrated Circuit)總線協(xié)議,即集成電路總線協(xié)議,是一種用于連接微控制器及其外圍設(shè)備的串行總線協(xié)議。I2C總線以其簡單的兩線制
    的頭像 發(fā)表于 05-27 15:47 ?1489次閱讀

    I2C通訊為什么要用開漏輸出和上拉電阻?

    每個設(shè)備都可以將線拉低(Ground),但不能將線拉高(Vcc)。這種設(shè)計使得多個設(shè)備可以共享同一條總線,以進行通信。二、I2C接口接外部上拉電阻的原因
    的頭像 發(fā)表于 05-16 08:10 ?5592次閱讀
    <b class='flag-5'>I2C</b>通訊為什么要用開漏輸出和上拉電阻?

    SPI和I2C通信協(xié)議:應(yīng)用與區(qū)別

    /DAC芯片等場合。SPI和I2C連接方式、傳輸速率和設(shè)備支持等方面有顯著差異,但隨著物聯(lián)網(wǎng)和智能設(shè)備的發(fā)展,它們都將在嵌入式系統(tǒng)中發(fā)揮重要作用。
    的頭像 發(fā)表于 04-22 16:45 ?1587次閱讀

    逼真動畫展示I2C、SPI、UART的通信過程

    串行通信協(xié)議,通常用于連接低速設(shè)備,如傳感器、存儲器和其他外設(shè)。它使用兩根線(SCL和SDA)來實現(xiàn)雙向通信,具有地址定向性和主從模式。優(yōu)點:多設(shè)備支持:I2C
    的頭像 發(fā)表于 04-12 08:27 ?891次閱讀
    逼真動畫展示<b class='flag-5'>I2C</b>、SPI、UART的通信過程

    什么是I2C協(xié)議 I2C總線的控制邏輯

    在實際使用過程中,I2C比較容易出現(xiàn)的一個問題就是死鎖 ,死鎖在I2C中主要表現(xiàn)為:I2C死鎖時表現(xiàn)為SCL為高,SDA一直為低。
    發(fā)表于 03-12 09:17 ?893次閱讀
    什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b>總線的控制邏輯

    GD32 MCU硬件I2C不可靠不如軟件I2C?來看看紅楓開發(fā)版的硬件I2C驅(qū)動如何做到穩(wěn)得一批

    在一個評論中,看到網(wǎng)友對硬件I2C的討論,硬件I2C Busy找不到原因、軟件I2C穩(wěn)得一批。
    的頭像 發(fā)表于 02-23 09:37 ?2582次閱讀
    GD32 MCU硬件<b class='flag-5'>I2C</b>不可靠不如軟件<b class='flag-5'>I2C</b>?來看看紅楓<b class='flag-5'>派</b>開發(fā)版的硬件<b class='flag-5'>I2C</b>驅(qū)動如何做到穩(wěn)得一批

    什么是I2C接口?什么是I3C接口?I2CI3C的區(qū)別

    I2C接口是一種串行通信協(xié)議,全稱為Inter-Integrated Circuit,即集成電路間總線。它是一種雙向、兩線制(SCL和SDA)的串行通信接口,主要用于連接微控制器和其他外圍設(shè)備,如傳感器、存儲器、顯示器等。
    的頭像 發(fā)表于 02-17 14:39 ?5242次閱讀
    什么是<b class='flag-5'>I2C</b>接口?什么是<b class='flag-5'>I3C</b>接口?<b class='flag-5'>I2C</b>與<b class='flag-5'>I3C</b>的區(qū)別

    樹莓主板如何連接電腦

    連接樹莓派到電腦是一個非常有用的功能,它可以讓我們在電腦上進行樹莓的操作和管理。本文將詳細介紹如何連接
    的頭像 發(fā)表于 01-07 15:40 ?1734次閱讀

    i2c工作原理及使用方法

    的標(biāo)準(zhǔn)。 I2C協(xié)議具有以下特點: 簡單:I2C使用兩根線(數(shù)據(jù)線SDA和時鐘線SCL)進行通信,極大地簡化了連接的線路。 多主機:支持多個主機設(shè)備
    的頭像 發(fā)表于 12-19 16:17 ?1170次閱讀

    I2C總線信號與測試案例(一)

    I2C bus是Inter-IC bus的縮寫,意思是IC器件之間的通訊總線;I2C 總線的特點如下
    的頭像 發(fā)表于 11-20 15:45 ?1804次閱讀
    <b class='flag-5'>I2C</b>總線信號與測試案例(一)