Taula de continguts:
- Pas 1: alguns comandaments de Shell
- Pas 2: primer cas: els dispositius I2c tenen la mateixa adreça
- Pas 3: cas 2: diferents adreces I2c
Vídeo: Dispositius I2C múltiples Raspberry PI: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Frustrat perquè no podeu utilitzar múltiples dels mateixos dispositius I2C al vostre projecte. No cal fer servir multiplexors lents. L'últim nucli raspbian admet la creació de diversos autobusos I2C mitjançant pins GPIO. Aquesta solució és súper ràpida.
Pas 1: alguns comandaments de Shell
Connecteu un dels vostres dispositius i2c mentre el raspberry pi estigui activat, engegueu el raspberry pi i executeu
sudo i2cdetect -y 1
Veureu una taula com a la figura adjunta. Tinc connectat un sensor de temperatura i pressió baromètrica BMP280. L'adreça i2c és 0x76 segons la taula. Tingueu en compte aquesta adreça.
Feu això per a tots els vostres dispositius i2c.
Pas 2: primer cas: els dispositius I2c tenen la mateixa adreça
Aquest va ser sempre el cas problemàtic. Un bus i2c pot gestionar diversos dispositius, però haurien de tenir adreces i2c diferents. Alguns dispositius i2c tenen ponts per configurar altres adreces i2c, però molts no. En aquest cas, podeu utilitzar un multiplexor i2c (maquinari) per girar l'i2c SDA (dades) i SCL (rellotge) o podeu crear un bus i2c addicional o més.
Crearé dos autobusos addicionals, nl bus 3 i 4
Obriu el cli i executeu
cd / boot
sudo nano config.txt
Afegiu la següent línia de codi, preferible a la secció on s’activen spi i i2c.
dtoverlay = i2c-gpio, bus = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Aquesta línia crearà un bus i2c addicional (bus 4) a GPIO 23 com a SDA i GPIO 24 com a SCL (GPIO 23 i 24 són els valors predeterminats)
Afegiu també la línia següent per crear el bus i2c 3
dtoverlay = i2c-gpio, bus = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 serà l’SDA i GPIO 27 serà el SCL del bus 4 d’i2c.
Escriu el control X per sortir.
Nota sobre la numeració i la comanda del bus:
No utilitzeu mai els autobusos 0 i 2, sinó per a altres coses del tauler com eprom en barrets, etc.
Per a la versió raspbian d'abril del 2019:
Sempre heu de començar amb el bus més alt (Bus 4 en aquest cas) al vostre config.txt i anar fins al bus més baix (bus 3).
El bus més baix ha de ser sempre el bus 3
Si necessiteu 5 autobusos addicionals, els autobusos hauran de ser de l’ordre de 7, 6, 5, 4, 3
Aquest problema de la comanda d’autobús no hi era quan es va escriure originalment aquest instructiu. Sembla que es van fer canvis al nucli.
Apagueu el PI, canvieu-lo. Connecteu els vostres dispositius i2c al bus 4 (SDA a GPIO 23 i SCL a GPIO 24) i l’altre al bus i2c 3 (SDA a GPIO 17 i SCL a GPIO 27).
Enceneu el pi.
Correr:
sudo i2cdetect -l (minúscula L)
Ara veureu que també hi apareixen els busos i2c 3 i 4. Executeu també:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Ara podeu utilitzar el sensor en el vostre llenguatge de programació. Recordeu especificar els autobusos i2c correctes.
Adjuntar és un exemple per al popular sensor de temperatura i pressió BMP280. Cap multiplexor no pot llegir 2 BMP280 tan ràpidament.
També s’adjunta un exemple de 2 sensors Sensirion SDP 810. De nou, treballo molt més ràpid que el multiplexor que feia servir en el passat
Vaig crear codi Python per llegir dos nous BMP388 d’Adafruit.
També puc afegir altres sensors en el futur a
Pas 3: cas 2: diferents adreces I2c
Senzill. i2c és un autobús. El propòsit d'un autobús és comunicar-se amb diversos dispositius. Connecteu els dispositius paral·lels al mateix bus i2c. Podeu fer servir un autobús.
Correr:
sudo i2cdetect -y 1
Veureu els dispositius que apareixen a la llista.
Recomanat:
Configuració del proveïdor de GPS Bluetooth extern per a dispositius Android: 8 passos
Configuració del proveïdor extern de GPS Bluetooth per a dispositius Android: aquest instructiu us explicarà com crear el vostre propi GPS compatible amb Bluetooth per al vostre telèfon, enceneu qualsevol cosa a només uns 10 dòlars. interfície de mòduls de baix consum BlutoothArdui
Arduino Connect diversos dispositius I2C: 6 passos
Arduino Connect Multiple I2C Devices: En aquest tutorial aprendrem a connectar diversos mòduls amb una connexió I2C a arduino. Vegeu el vídeo. En el nostre cas utilitzarem 4 pantalles OLED com a exemple, però podeu utilitzar qualsevol altre mòdul I2C / sensors si ho desitgeu. Nota: 4 pantalles OLED co
És possible transferir fotos mitjançant dispositius IoT basats en LPWAN ?: 6 passos
És possible transferir fotos utilitzant dispositius IoT basats en LPWAN? Les tecnologies representatives són Sigfox, LoRa NB-IoT i LTE Cat.M1. Totes aquestes són tecnologies de comunicació de llarga distància de baixa potència. En ge
Reconeixement de dispositius en temps real mitjançant empremtes EM: 6 passos
Reconeixement de dispositius en temps real mitjançant empremtes EM: aquest dispositiu està destinat a classificar diferents dispositius electrònics segons els seus senyals EM. Per a diferents dispositius, emeten senyals EM diferents. Hem desenvolupat una solució IoT per identificar els dispositius electrònics mitjançant Particle
Tutorial: Com Arduino controla diversos dispositius de la mateixa adreça mitjançant el multiplexor TCA9548A I2C: 3 passos
Tutorial: Com Arduino controla diversos dispositius de la mateixa adreça mitjançant el multiplexor TCA9548A I2C: Descripció: El mòdul de multiplexor TCA9548A I2C permet habilitar la connexió de dispositius amb la mateixa adreça I2C (fins a 8 mateixes adreces I2C) connectades a un microcontrolador. El multiplexor actua com un gatekeeper, transferint les ordres al conjunt seleccionat o