Vorrei collegare più dispositivi I2C al mio Raspberry Pi. Posso farlo? Di cosa ho bisogno per prendermi cura? Inoltre, esiste una libreria che riproduca I2C su altri GPIO?
Vorrei collegare più dispositivi I2C al mio Raspberry Pi. Posso farlo? Di cosa ho bisogno per prendermi cura? Inoltre, esiste una libreria che riproduca I2C su altri GPIO?
Il punto centrale di I2C è che è un autobus. È quindi possibile collegare più dispositivi I2C allo stesso GPIO a condizione che abbiano indirizzi di dispositivi I2C diversi.
Se i dispositivi condividono un indirizzo che non può essere modificato, è possibile utilizzare un chip multiplexor I2C per collegare in genere 8 dispositivi allo stesso bus I2C. Si invia un comando al multiplexor per specificare il dispositivo da indirizzare.
I kernel Pi recenti supportano direttamente i seguenti dispositivi con l'albero dei dispositivi.
Nome: i2c-muxInfo: Aggiunge il supporto per una serie di multiplexer bus I2C su i2c_armLoad: dtoverlay = i2c-mux, <param> = <val>Params: pca9542 Seleziona il dispositivo NXP PCA9542 pca9545 Seleziona il dispositivo NXP PCA9545 Aggiungi il dispositivo PCA9545 PXP )
Vedi / boot / overlays / README per i dettagli.
I kernel Pi recenti supportano direttamente il bit bang del software di I2C su qualsiasi GPIO di riserva con albero dei dispositivi.
Nome: i2c-gpioInfo: aggiunge il supporto per il controller i2c software sui pin gpioLoad: dtoverlay = i2c-gpio, <param> = <val>Params: i2c_gpio_sda di default GPIO 23 ") i2c_gpio_scl GPIO utilizzato per l'orologio I2C (predefinito" 24 ") i2c_gpio_delay_us Ritardo dell'orologio in microsecondi (predefinito" 2 "= ~ 100kHz)
Vedi / boot / overlays / README per i dettagli.
Inoltre ci sono molti esempi di software bit bang per Raspberry Pi I2C disponibili facendo una ricerca su Internet.
Nota. Se non usi il bus I2C standard (pin 3/5) dovrai aggiungere pull-up esterni a 3V3 sul GPIO che scegli di utilizzare. Come guida i pin 3/5 hanno pull-up da 1k8 a 3V3.