步驟1:一些Shell命令
在樹(shù)莓派使用時(shí)連接您的i2c設(shè)備之一,啟動(dòng)樹(shù)莓派并運(yùn)行
sudo i2cdetect -y 1
您將看到一個(gè)表格,如圖所示。我已經(jīng)安裝了BMP280溫度和氣壓傳感器。根據(jù)表,i2c地址為0x76。請(qǐng)記下該地址。
對(duì)所有i2c設(shè)備執(zhí)行此操作。
步驟2:案例1:I2c設(shè)備具有相同的地址
這始終是有問(wèn)題的情況。 i2c總線(xiàn)可以處理多個(gè)設(shè)備,但是它們應(yīng)具有不同的i2c地址。有些i2c設(shè)備具有用于設(shè)置其他i2c地址的跳線(xiàn),但許多設(shè)備卻沒(méi)有。在這種情況下,您可以使用i2c多路復(fù)用器(硬件)來(lái)旋轉(zhuǎn)i2c SDA(數(shù)據(jù))和SCL(時(shí)鐘),也可以創(chuàng)建其他i2c總線(xiàn)或更多。
我將創(chuàng)建兩個(gè)附加總線(xiàn), nl總線(xiàn)3和4
打開(kāi)cli并運(yùn)行
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)建一個(gè)附加的i2c總線(xiàn)(總線(xiàn)4)(GPIO 23和24為默認(rèn)值)
還添加以下行以創(chuàng)建i2c總線(xiàn)3
dtoverlay = i2c-gpio,bus = 3,i2c_gpio_delay_us = 1,i2c_gpio_sda = 17,i2c_gpio_scl = 27
GPIO 17將是i2c總線(xiàn)4的SDA,而GPIO 27將是SCL。
Tipe控件X退出。
關(guān)于總線(xiàn)編號(hào)和順序的說(shuō)明:
從不使用總線(xiàn)0和2,它用于其他的東西像帽子上的eprom這樣的板子
對(duì)于2019年4月發(fā)布的Raspbian版本:
您應(yīng)該始終從config.txt中的最高總線(xiàn)(在這種情況下為4總線(xiàn))開(kāi)始,一直運(yùn)行到最低總線(xiàn)(3總線(xiàn))。
最低的總線(xiàn)必須始終是3總線(xiàn)。
如果您需要5條額外的總線(xiàn),則這些總線(xiàn)必須雙向接入7,6,5,4,3的順序
最初編寫(xiě)此Instructable時(shí),此總線(xiàn)順序上的問(wèn)題不存在。似乎對(duì)內(nèi)核進(jìn)行了更改。
關(guān)閉PI,將其關(guān)閉。將您的i2c設(shè)備連接到總線(xiàn)4(SDA到GPIO 23和SCL到GPIO 24),另一個(gè)連接到i2c總線(xiàn)3(SDA到GPIO 17和SCL到GPIO 27)。
打開(kāi)pi。
運(yùn)行:
sudo i2cdetect -l(小寫(xiě)L)
現(xiàn)在您將看到i2c總線(xiàn)3和4是也列出了。同時(shí)運(yùn)行:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
現(xiàn)在,您可以用您的編程語(yǔ)言使用傳感器。記住要指定正確的i2c總線(xiàn)。
附件是流行的BMP280溫度和壓力傳感器的一個(gè)示例。沒(méi)有多路復(fù)用器可以如此快速地讀取2個(gè)BMP280。
還附帶了2個(gè)Sensirion SDP 810傳感器的示例。再次以比過(guò)去使用的多路復(fù)用器更快的速度工作
我創(chuàng)建了python代碼來(lái)從adafruit中讀取兩個(gè)新的BMP388。
將來(lái)我可能還會(huì)在https:/中添加其他傳感器/github.com/JJSlabbert/Raspberry_PI_i2C_conficts
步驟3:案例2:不同的I2c地址。
簡(jiǎn)單。 i2c是一輛公共汽車(chē)??偩€(xiàn)的目的是與多個(gè)設(shè)備通信。將設(shè)備并行連接到同一i2c總線(xiàn)。您可以使用總線(xiàn)一。
運(yùn)行:
sudo i2cdetect -y 1
您將看到列出的設(shè)備。
責(zé)任編輯:wv
-
I2C
+關(guān)注
關(guān)注
28文章
1541瀏覽量
127878 -
樹(shù)莓派
+關(guān)注
關(guān)注
121文章
2009瀏覽量
107482
發(fā)布評(píng)論請(qǐng)先 登錄
小安派BW21-CBV-Kit開(kāi)發(fā)板教程——I2C之主機(jī)掃描設(shè)備

STM32學(xué)習(xí)筆記_I2C詳解(可下載)
I2C總線(xiàn)的優(yōu)缺點(diǎn)分析
如何選擇I2C總線(xiàn)拉電阻
I2C總線(xiàn)與Arduino的接口示例
I2C總線(xiàn)的工作模式介紹
I2C總線(xiàn)協(xié)議詳細(xì)解析
I2C總線(xiàn)故障排除技巧
I2C總線(xiàn)與單片機(jī)的連接
I2C總線(xiàn)設(shè)備地址設(shè)置方法
I2C總線(xiàn)應(yīng)用實(shí)例分析
I2C總線(xiàn)與SPI總線(xiàn)的比較
樹(shù)莓派傳感器使用方法 樹(shù)莓派 Raspberry Pi 4優(yōu)缺點(diǎn)
I2C總線(xiàn)為什么要接上拉電阻

使用C2000 I2C模塊連接EEPROM

評(píng)論