Obsah:
- Krok 1: Některé příkazy Shell
- Krok 2: Případ první: Zařízení I2c mají stejnou adresu
- Krok 3: Případ 2: Různé adresy I2c
Video: Více zařízení I2C Raspberry PI: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Frustrováno, protože ve svém projektu nemůžete použít násobky stejných I2C zařízení. Není třeba používat pomalé multiplexory. Nejnovější jádro raspbian podporuje vytváření více sběrnic I2C pomocí pinů GPIO. Toto řešení je super rychlé.
Krok 1: Některé příkazy Shell
Připojte jedno ze svých zařízení i2c, když je váš Raspberry Pi vypnutý, spusťte Raspberry Pi a spusťte
sudo i2cdetect -y 1
Uvidíte tabulku jako na přiloženém obrázku. Připojil jsem snímač teploty a barometrického tlaku BMP280. Adresa i2c je podle tabulky 0x76. Všimněte si této adresy.
Udělejte to pro všechna vaše zařízení i2c.
Krok 2: Případ první: Zařízení I2c mají stejnou adresu
To byl vždy ten problematický případ. Sběrnice i2c zvládne více zařízení, ale měla by mít různé adresy i2c. Některá zařízení i2c mají propojky pro nastavení dalších adres i2c, ale mnoho ne. V tomto případě můžete použít multiplexor i2c (hardware) k otáčení i2c SDA (data) a SCL (hodiny) nebo můžete vytvořit další sběrnici i2c nebo více.
Vytvořím dva další autobusy, nl bus 3 a 4
Otevřete cli a spusťte
cd /boot
sudo nano config.txt
Přidejte následující řádek kódu, nejlépe v sekci, kde je povolen spi a i2c.
dtoverlay = i2c-gpio, bus = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Tento řádek vytvoří další sběrnici i2c (sběrnice 4) na GPIO 23 jako SDA a GPIO 24 jako SCL (výchozí jsou GPIO 23 a 24)
Přidejte také následující řádek a vytvořte sběrnici i2c 3
dtoverlay = i2c-gpio, bus = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 bude SDA a GPIO 27 bude SCL pro sběrnici 4 i2c.
Chcete -li ukončit řízení X, změňte jej.
Poznámka k číslování a objednávce autobusů:
Nikdy nepoužívejte sběrnici 0 a 2, používá se pro jiné věci na desce, jako je eprom na kloboucích atd
Pro vydání raspbian z dubna 2019:
Vždy byste měli začít s nejvyšší sběrnicí (v tomto případě Bus 4) v souboru config.txt a postupovat až po nejnižší sběrnici (sběrnice 3).
Nejnižší sběrnice musí být vždy sběrnice 3
Pokud potřebujete 5 dalších autobusů, autobusy musí být bi v pořadí 7, 6, 5, 4, 3
Když byl tento Instructable původně napsán, tento problém v objednávce autobusu nebyl. Vypadá to, že v jádře byly provedeny změny.
Vypněte PI, vypněte jej. Připojte svá zařízení i2c na sběrnici 4 (SDA na GPIO 23 a SCL na GPIO 24) a druhou na i2c sběrnici 3 (SDA na GPIO 17 a SCL na GPIO 27).
Zapněte pí.
Běh:
sudo i2cdetect -l (malá písmena L)
Nyní uvidíte, že je uvedena také sběrnice 3 a 4 sběrnice i2c. Také spusťte:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Nyní můžete senzor používat ve svém programovacím jazyce. Nezapomeňte zadat správné sběrnice i2c.
Attach je příkladem oblíbeného snímače teploty a tlaku BMP280. Žádný multiplexer nedokáže přečíst tak rychle 2 BMP280.
Je také připojen příklad 2 senzorů Sensirion SDP 810. Opět funguje mnohem rychleji než multiplexor, který jsem používal v minulosti
Vytvořil jsem kód pythonu pro čtení dvou nových BMP388 z adafruit.
V budoucnu mohu také přidat další senzory na
Krok 3: Případ 2: Různé adresy I2c
Jednoduchý. i2c je autobus. Účelem sběrnice je komunikovat s více zařízeními. Připojte zařízení paralelně ke stejné sběrnici i2c. Můžete použít autobus jeden.
Běh:
sudo i2cdetect -y 1
Zobrazí se uvedená zařízení.
Doporučuje:
Výukový program: Jak Arduino ovládá více zařízení se stejnou adresou pomocí multiplexeru TCA9548A I2C: 3 kroky
Výukový program: Jak Arduino ovládá více zařízení se stejnou adresou pomocí multiplexeru TCA9548A I2C: Popis: Modul multiplexeru TCA9548A I2C umožňuje připojení zařízení se stejnou adresou I2C (až 8 stejných adres I2C) připojených k jednomu mikrokontroléru. Multiplexer funguje jako strážce brány a přenáší příkazy do vybrané sady
Pěstování více salátu na menším prostoru nebo Pěstování salátu ve vesmíru, (více či méně) .: 10 kroků
Pěstování více salátu na menším prostoru Nebo … Pěstování salátu ve vesmíru ((více či méně)): Toto je profesionální příspěvek do soutěže Growing Beyond Earth, Maker Contest, podané prostřednictvím Instructables. Nemohl jsem být více nadšený, že navrhuji vesmírnou produkci plodin a zveřejňuji svůj první Instructable. Na začátku nás soutěž požádala, abychom
Použití více než 4 motorů - skládání více štítů motoru: 3 kroky
Použití více než 4 motorů - stohování více motorových štítů: Instruktabilní vibrotaktilní senzorické substituční a augmentační zařízení (https: //www.instructables.com/id/Vibrotactile-Sens …) ukazuje způsob, jak vytvořit zařízení, které překládá senzorické vstup do vibračních podnětů. Tyto vibrační podněty jsou
RPIEasy - zařízení s více senzory na bázi RPI: 6 kroků
RPIEasy - zařízení s více senzory na bázi RPI: Pokud někdo plánuje vytvořit nějaké senzory pro kutily, pak mimo populární ESP8266 levnou a nízkou spotřebu " Raspberry Pi Zero W " značnou možností je také model. RPI Zero W stojí přibližně 10 USD a jeho spotřeba energie je
Dokovací stanice Lego pro nabíjení více zařízení, tablet pro telefon: 15 kroků (s obrázky)
Nabíjecí dokovací stanice Lego pro více zařízení, tablet pro telefon: postavte si vlastní nabíjecí dok pro lego