Tartalomjegyzék:
- 1. lépés: Néhány shell parancs
- 2. lépés: Első eset: Az I2c eszközök azonos címmel rendelkeznek
- 3. lépés: 2. eset: Különböző I2c címek
Videó: Málna PI Több I2C eszköz: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Csalódott, mert nem használhatja ugyanazon I2C eszközök többszörösét a projektben. Nem kell lassú multiplexereket használni. A legújabb raspbian kernel támogatja több I2C busz létrehozását GPIO tűk segítségével. Ez a megoldás szupergyors.
1. lépés: Néhány shell parancs
Csatlakoztassa az egyik i2c -eszközt, amíg a málna pi -je van, indítsa el a málna -pi -t és futtassa
sudo i2cdetect -y 1
Látni fog egy táblázatot, mint a mellékelt ábrán. Van egy BMP280 hőmérséklet- és légnyomás -érzékelőm. Az i2c cím a táblázat szerint 0x76. Jegyezze fel ezt a címet.
Tegye ezt az összes i2c eszközön.
2. lépés: Első eset: Az I2c eszközök azonos címmel rendelkeznek
Mindig ez volt a problémás eset. Egy i2c busz több eszközt is képes kezelni, de azoknak eltérő i2c címmel kell rendelkezniük. Néhány i2c eszköz rendelkezik jumperrel más i2c címek beállításához, de soknak nincs. Ebben az esetben használhat i2c multiplexert (hardver) az i2c SDA (adatok) és az SCL (óra) forgatásához, vagy létrehozhat további vagy több i2c buszt.
Létrehozok két kiegészítő buszt, a 3 -as és 4 -es buszt
Nyissa meg a cli -t és futtassa
cd /boot
sudo nano config.txt
Adja hozzá a következő kódsort, előnyösen abban a részben, ahol az spi és az i2c engedélyezve van.
dtoverlay = i2c-gpio, busz = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Ez a vonal egy kiegészítő i2c buszt (4 -es buszt) hoz létre a GPIO 23 -on SDA -ként és a GPIO 24 -et SCL -ként (a GPIO 23 és 24 alapértelmezett)
Adja hozzá a következő sort is az i2c busz 3 létrehozásához
dtoverlay = i2c-gpio, busz = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
A GPIO 17 lesz az SDA, a GPIO 27 pedig az SCL az i2c 4 buszhoz.
A kilépéshez nyomja meg az X vezérlőgombot.
Megjegyzés a buszok számozásával és sorrendjével kapcsolatban:
Soha ne használja a 0 -as és a 2 -es buszt, hanem a táblán lévő egyéb dolgokra, például eprom kalapokra stb
A 2019 áprilisi raspbian kiadáshoz:
Mindig a legmagasabb busszal (ebben az esetben a 4 -es busszal) kell kezdenie a config.txt fájlban, és haladnia kell a legalacsonyabb buszig (3. busz).
A legalacsonyabb busznak mindig a 3 -as busznak kell lennie
Ha 5 extra buszra van szüksége, akkor a buszoknak bi, 7, 6, 5, 4, 3 nagyságrendűeknek kell lenniük
Ez a buszrendeléssel kapcsolatos probléma nem állt fenn, amikor ezt az utasítást eredetileg megírták. Úgy tűnik, hogy változások történtek a kernelben.
Kapcsolja ki, kapcsolja ki a PI -t. Csatlakoztassa i2c eszközeit a 4 -es buszhoz (SDA a GPIO 23 -hoz és az SCL a GPIO 24 -hez), a másikat pedig az i2c 3 -as buszhoz (SDA a GPIO 17 -hez és az SCL a GPIO 27 -hez).
Kapcsolja be a pi -t.
Fuss:
sudo i2cdetect -l (L kisbetű)
Most látni fogja, hogy a 3. és 4. i2c busz is szerepel a listában. Futtassa még:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Most már használhatja az érzékelőt a programozási nyelvén. Ne felejtse el megadni a helyes i2c buszokat.
Az Attach egy példa a népszerű BMP280 hőmérséklet- és nyomásérzékelőre. Egy multiplexer sem tud ilyen gyorsan leolvasni 2 BMP280 -at.
Példa 2 Sensirion SDP 810 érzékelőre is. Ismét sokkal gyorsabban működik, mint a korábban használt multiplexer
Létrehoztam python kódot, hogy két új BMP388 -at olvashassak az adafruitból.
A jövőben más érzékelőket is hozzáadhatok a https://github.com/JJSlabbert/Raspberry_PI_i2C_conficts webhelyhez
3. lépés: 2. eset: Különböző I2c címek
Egyszerű. Az i2c egy busz. A busz célja, hogy több eszközzel kommunikáljon. Csatlakoztassa az eszközöket párhuzamosan ugyanahhoz az i2c buszhoz. Használhatja az első buszt.
Fuss:
sudo i2cdetect -y 1
Látni fogja a felsorolt eszközöket.
Ajánlott:
Arduino Connect több I2C eszköz: 6 lépés
Arduino több I2C eszköz csatlakoztatása: Ebben az oktatóanyagban megtanuljuk, hogyan lehet több modult I2C kapcsolattal csatlakoztatni az arduino -hoz. Nézze meg a videót! Esetünkben 4 OLED kijelzőt fogunk használni példaként, de bármely más I2C modult is használhat. Megjegyzés: 4 OLED kijelző együtt
ASS eszköz (antiszociális szociális eszköz): 7 lépés
ASS eszköz (antiszociális szociális eszköz): Tegyük fel, hogy Ön az a fajta ember, aki szereti az emberek közelében lenni, de nem szereti, ha túl közel kerülnek hozzájuk. Te is népkedvelő vagy, és nehezen mondasz nemet az embereknek. Tehát nem tudod, hogyan mondd meg nekik, hogy vonuljanak vissza. Nos, lépjen be - az ASS eszköz! Y
Több saláta termesztése kevesebb helyen, vagy Saláta termesztése az űrben, (több vagy kevesebb): 10 lépés
Több saláta termesztése kevesebb helyen, vagy … Saláta termesztése az űrben, (több vagy kevesebb) .: Ez egy professzionális benyújtás a Growing Beyond Earth, Maker Contest pályázathoz, amelyet az Instructables -en keresztül nyújtottak be. Nem izgathatnám jobban, hogy űrnövénytermesztésre tervezek, és közzéteszem az első Instructable -t. Kezdésként a verseny arra kért minket, hogy
Több mint 4 motor használata - Több motorpajzs egymásra rakása: 3 lépés
Több mint 4 motor használata - Több motorpajzs egymásra rakása: Utasítható vibrotactile szenzoros helyettesítő és növelő eszköz (https: //www.instructables.com/id/Vibrotactile-Sens …) bemutatja az érzékelést lefordító eszköz felépítésének módját bemenet a vibrációs ingerekbe. Ezek a vibrációs ingerek
Lego több eszköz töltő dokkoló, telefon táblagép: 15 lépés (képekkel)
Lego több eszköz töltő dokkoló, telefon táblagép: készítse el saját lego töltő dokkolóját