Sadržaj:
- Korak 1: Neke naredbe ljuske
- 2. korak: Prvi slučaj: I2c uređaji imaju istu adresu
- Korak 3: Slučaj 2: Različite I2c adrese
Video: Raspberry PI više I2C uređaja: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Frustrirano jer ne možete koristiti više istih I2C uređaja u svom projektu. Nema potrebe za upotrebom sporih multipleksera. Najnoviji raspbian kernel podržava stvaranje više I2C sabirnica pomoću GPIO pinova. Ovo rješenje je super brzo.
Korak 1: Neke naredbe ljuske
Spojite jedan od svojih i2c uređaja dok je vaš malina pi, pokrenite malinin pi i pokrenite
sudo i2cdetect -y 1
Vidjet ćete tablicu kao na priloženoj slici. Priložio sam senzor temperature i barometarskog tlaka BMP280. I2c adresa je 0x76 prema tablici. Zabilježite ovu adresu.
Učinite to za sve svoje i2c uređaje.
2. korak: Prvi slučaj: I2c uređaji imaju istu adresu
Ovo je uvijek bio problematičan slučaj. Sabirnica i2c može rukovati s više uređaja, ali oni bi trebali imati različite i2c adrese. Neki i2c uređaji imaju kratkospojnike za postavljanje drugih i2c adresa, ali mnogi nemaju. U tom slučaju možete koristiti i2c multiplekser (hardver) za rotiranje i2c SDA (podaci) i SCL (sat) ili možete stvoriti dodatnu i2c sabirnicu ili više.
Napravit ću dva dodatna autobusa, nl sabirnice 3 i 4
Otvorite cli i trčite
cd /boot
sudo nano config.txt
Dodajte sljedeći redak koda, po mogućnosti u odjeljak u kojem su omogućeni spi i i2c.
dtoverlay = i2c-gpio, sabirnica = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Ova će linija stvoriti dodatnu i2c sabirnicu (sabirnica 4) na GPIO 23 kao SDA i GPIO 24 kao SCL (GPIO 23 i 24 su zadane vrijednosti)
Također dodajte sljedeći redak za stvaranje i2c sabirnice 3
dtoverlay = i2c-gpio, sabirnica = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 bit će SDA, a GPIO 27 SCL za i2c sabirnicu 4.
Tipkom X za izlaz.
Napomena o numeriranju i redoslijedu sabirnica:
Nikada ne koristite sabirnice 0 i 2, koristi se za druge stvari na ploči, poput eproma na šeširima itd
Za izdanje raspbian u travnju 2019.:
Uvijek biste trebali započeti s najvišom sabirnicom (u ovom slučaju sabirnicom 4) u vašem config.txt -u i raditi do najniže sabirnice (sabirnica 3).
Najniži autobus uvijek mora biti autobus 3
Ako vam je potrebno 5 dodatnih autobusa, autobusi moraju biti u redoslijedu 7, 6, 5, 4, 3
Ovo pitanje o naručivanju autobusa nije postojalo kada je ovaj Instructable izvorno napisan. Čini se da su u kernelu napravljene promjene.
Isključite svoj PI, isključite ga. Spojite svoje i2c uređaje na sabirnicu 4 (SDA na GPIO 23 i SCL na GPIO 24), a drugu na i2c sabirnicu 3 (SDA na GPIO 17 i SCL na GPIO 27).
Uključite pi.
Trčanje:
sudo i2cdetect -l (mala slova L)
Sada ćete vidjeti da su i2c sabirnice 3 i 4 također navedene. Također pokrenite:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Sada svoj senzor možete koristiti u svom programskom jeziku. Ne zaboravite navesti ispravne sabirnice i2c.
Attach je primjer popularnog BMP280 osjetnika temperature i tlaka. Nijedan multiplekser ne može pročitati 2 BMP280 tako brzo.
U prilogu je i primjer 2 senzora Sensirion SDP 810. Opet radi mnogo brže od multipleksera koji sam koristio u prošlosti
Napravio sam python kod za čitanje dva nova BMP388 iz adafruta.
Možda ću u budućnosti dodati i druge senzore na
Korak 3: Slučaj 2: Različite I2c adrese
Jednostavan. i2c je autobus. Vlasnik sabirnice treba komunicirati s više uređaja. Spojite uređaje paralelno na istu i2c sabirnicu. Možete koristiti autobus jedan.
Trčanje:
sudo i2cdetect -y 1
Vidjet ćete navedene uređaje.
Preporučeni:
Arduino Connect više I2C uređaja: 6 koraka
Arduino Connect više I2C uređaja: U ovom ćemo vodiču naučiti kako spojiti nekoliko modula s I2C vezom na arduino. Pogledajte video! U našem ćemo slučaju koristiti 4 OLED zaslona kao primjer, ali možete koristiti bilo koje druge I2C module/ senzore ako želite.Napomena: 4 OLED zaslona prikazuje ko
Vodič: Kako Arduino kontrolira više uređaja iste adrese pomoću TCA9548A I2C multipleksera: 3 koraka
Vodič: Kako Arduino kontrolira više uređaja iste adrese korištenjem TCA9548A I2C multipleksera: Opis: TCA9548A I2C multipleksorski modul omogućuje povezivanje uređaja s istom I2C adresom (do 8 istih adresa I2C) spojenih na jedan mikrokontroler. Multiplekser djeluje kao čuvar vrata, preusmjeravajući naredbe na odabrani skup o
Uzgoj više salate na manje prostora ili Uzgoj salate u svemiru, (više ili manje) .: 10 koraka
Uzgoj više salate na manje prostora ili … Uzgoj salate u svemiru, (više ili manje) .: Ovo je profesionalna prijava na natječaj Growing Beyond Earth, Maker, predana putem Instructables. Ne mogu biti više uzbuđen što ću dizajnirati za proizvodnju svemirskih usjeva i objaviti svoj prvi Instructable. Za početak, natječaj nas je zamolio da
Lego priključna stanica za punjenje više uređaja, tabletni telefon: 15 koraka (sa slikama)
Lego priključna stanica za punjenje više uređaja, tabletni telefon: napravite svoju vlastitu lego priključnu stanicu
Upravljajte do 4 servo uređaja pomoću pametnog telefona ili bilo kojeg uređaja s audio izlazom: 3 koraka
Upravljajte do 4 serva pomoću pametnog telefona ili bilo kojeg uređaja s audio izlazom: Ovdje predstavljam jednostavnu elektroničku montažu za upravljanje do četiri servo uređaja s bilo kojim uređajem koji može čitati audio datoteku