Obsah:
- Krok 1: Niektoré škrupinové príkazy
- Krok 2: Prípad prvý: Zariadenia I2c majú rovnakú adresu
- Krok 3: Prípad 2: Rôzne adresy I2c
Video: Viaceré zariadenia I2C Raspberry PI: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Frustrované, pretože vo svojom projekte nemôžete použiť násobky rovnakých zariadení I2C. Nie je potrebné používať pomalé multiplexory. Najnovšie jadro raspbian podporuje vytváranie viacerých zberníc I2C pomocou pinov GPIO. Toto riešenie je super rýchle.
Krok 1: Niektoré škrupinové príkazy
Pripojte jedno zo svojich zariadení i2c, kým je váš Raspberry Pi vypnutý, spustite Raspberry Pi a spustite ho
sudo i2cdetect -y 1
Uvidíte tabuľku ako na priloženom obrázku. Pripojil som snímač teploty a barometrického tlaku BMP280. Adresa i2c je 0x76 podľa tabuľky. Všimnite si túto adresu.
Vykonajte to pre všetky svoje zariadenia i2c.
Krok 2: Prípad prvý: Zariadenia I2c majú rovnakú adresu
Vždy to bol ten problematický prípad. Zbernica i2c môže pracovať s viacerými zariadeniami, ale mali by mať rôzne adresy i2c. Niektoré zariadenia i2c majú prepojky na nastavenie ďalších adries i2c, ale mnohé nie. V tomto prípade môžete použiť multiplexor i2c (hardvér) na otáčanie i2c SDA (údaje) a SCL (hodiny) alebo môžete vytvoriť ďalšiu zbernicu i2c alebo viac.
Vytvorím dva ďalšie autobusy, autobus 3 a 4
Otvorte cli a spustite
cd /boot
sudo nano config.txt
Pridajte nasledujúci riadok kódu, najlepšie do sekcie, kde sú povolené spi a i2c.
dtoverlay = i2c-gpio, bus = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Tento riadok vytvorí dodatočnú zbernicu i2c (zbernica 4) na GPIO 23 ako SDA a GPIO 24 ako SCL (predvolené sú GPIO 23 a 24)
Pridajte aj nasledujúci riadok na vytvorenie zbernice 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 pre i2c zbernicu 4.
Ovládačom ovládania X ukončíte.
Poznámka k číslovaniu a objednávke autobusov:
Nikdy nepoužívajte zbernicu 0 a 2, používa sa na iné veci na doske, ako je eprom na klobúkoch atď
Pre vydanie raspbian z apríla 2019:
Vždy by ste mali začať s najvyššou zbernicou (v tomto prípade zbernica 4) v súbore config.txt a prepracovať sa k najnižšej zbernici (zbernica 3).
Najnižší autobus musí byť vždy autobus 3
Ak potrebujete 5 autobusov navyše, autobusy musia byť bi v poradí 7, 6, 5, 4, 3
Tento problém pri objednávke autobusu neexistoval, keď bol pôvodne napísaný tento návod. Zdá sa, že v jadre boli vykonané zmeny.
Vypnite PI, vypnite ho. Pripojte svoje zariadenia i2c k zbernici 4 (SDA do GPIO 23 a SCL do GPIO 24) a druhé k i2c zbernici 3 (SDA do GPIO 17 a SCL do GPIO 27).
Zapnite pí.
Beh:
sudo i2cdetect -l (malé písmená L)
Teraz uvidíte, že v zozname je aj autobus i2c 3 a 4. Spustiť tiež:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Teraz môžete svoj senzor používať vo svojom programovacom jazyku. Nezabudnite zadať správne zbernice i2c.
Príloha je príkladom obľúbeného snímača teploty a tlaku BMP280. Žiadny multiplexor nedokáže tak rýchlo prečítať 2 BMP280.
Prikladám tiež príklad 2 senzorov Sensirion SDP 810. Funguje opäť oveľa rýchlejšie ako multiplexor, ktorý som používal v minulosti
Vytvoril som kód pythonu na čítanie dvoch nových BMP388 z adafruit.
V budúcnosti môžem tiež pridať ďalšie senzory na
Krok 3: Prípad 2: Rôzne adresy I2c
Jednoduché. i2c je autobus. Cieľom zbernice je komunikovať s viacerými zariadeniami. Pripojte zariadenia paralelne k rovnakej zbernici i2c. Môžete použiť autobus jeden.
Beh:
sudo i2cdetect -y 1
Uvidíte uvedené zariadenia.
Odporúča:
LED Snapper: Pravdepodobne najzákladnejší kus testovacieho zariadenia, ktoré môžete urobiť: 3 kroky
LED Snapper: Pravdepodobne najzákladnejší kus testovacieho zariadenia, ktoré môžete vyrobiť: Dovoľte mi, aby som vám predstavil LED Snapper. Jednoduché, ale mimoriadne užitočné testovacie zariadenie, ktoré môžete postaviť, aby vám pomohlo pri ladení vašich projektov v oblasti elektroniky. LED Snapper je doska s plošnými spojmi s otvoreným zdrojovým kódom, ktorá vám umožní ľahko pridať
Viaceré elektronické sviečky: 3 kroky
Viaceré elektronické sviečky: Elektronické sviečky boli mnohokrát zverejnené na stránke Instructables, tak prečo práve táto? Doma mám tieto malé polopriehľadné vianočné domy, ktoré majú LED prehľad a malú batériu. Niektoré domy majú LED diódy so sviečkovým efektom a niektoré majú LED diódy
Easy IOT - Rozbočovač RF senzorov ovládaný aplikáciou pre zariadenia IOT stredného dosahu: 4 kroky
Easy IOT - RF senzorový rozbočovač riadený aplikáciami pre zariadenia IOT stredného dosahu: V tejto sérii tutoriálov vytvoríme sieť zariadení, ktoré je možné ovládať prostredníctvom rádiového spojenia zo zariadenia s centrálnym rozbočovačom. Výhodou použitia sériového rádiového pripojenia 433 MHz namiesto WIFI alebo Bluetooth je oveľa väčší dosah (s dobrým
Jednoduchý logický prevodník DIY pre zariadenia 3,3 V: 4 kroky
Jednoduchý logický prevodník DIY pre zariadenia 3,3 V: V tomto príspevku vám ukážem, ako si môžete vytvoriť vlastný logický prevodník 5 V na 3,3 V na pripojenie snímačov 5 V k novým doskám Arduino a Raspberry Pi. Prečo potrebujeme integrovaný prevodník logickej úrovne ? Väčšina z vás rada hrá s Arduino a Raspberry Pi duri
Viaceré pevné disky alebo optické disky v počítači, ktoré to skutočne nedokáže: 8 krokov
Viaceré pevné disky alebo optické mechaniky v počítači, ktorý skutočne nemôže: PRVÝ EVAR Tak som to po rokoch trollovania a čítania urobil podľa pokynov a konečne som mal odvahu vyrobiť si vlastný. Stručne povedané, ukážem vám, ako nainštalovať hardvér (v tomto prípade dva pevné disky IDE a dve optické jednotky IDE) do systému IDE