Bom dia ! Mais uma vez conto com a ajuda do grupo. Pretendo fazer um projeto com 3 componentes que usam I2C, mas as portas do Arduino são sempre A5 e A4. Posso ligar os 3 componentes nas mesmas portas ou eu preciso alterar a biblioteca para informar portas analógicas diferentes, já que eles não são parametrizáveis no código. Obrigado.
Tags:
Bom dia CV,
O I2C é um bus de múltiplos I/Os.
Você pode sim, ligar vários dispositivos no mesmo bus (Ports A4 e A5 no UNO).
O uprocessador seleciona o modulo a ser usado pelo endereço dele.
Portanto eles tem que ter endereços diferentes.
Quais modulos pretende usar neste bus?
RV
No tópico 2-dispositivos-i2c-com-arduino tem umas notas e links interessantes.
Bom dia
Informe quais dispositivos vai usar.
Cada dispositivo deverá ter um endereço diferente ! Senão ocorrerá conflito.
Use i I2C scanner para identificar os endereços dos dispositivos.
Teste-os separadamente se ocorrer algum problema.
https://playground.arduino.cc/Main/I2cScanner
Você deverá usar somente um conjunto de resistores de Pull Up nas linhas SCL e SDA (4,7K para 5v).
Boa tarde CV.
Endereços dos módulos:
BM180 I2C 7-bit address 0x77;
mpu6050 I2C ADDRESS AD0 = 0 110 1000 0x68;
I2C ADDRESS AD0 = 1 110 1001 0x69;
Se seu oled display usar o chip SSD1306
“SA0” bit provides an extension bit for the slave address.
Either “011 1100” or “011 1101”, can be selected as the slave address of SSD1306.
Acredito que sejam os endereços:
I2C ADDRESS SA0 = 0 011 1100 0x3C;
I2C ADDRESS SA0 = 1 011 1101 0x3D;
Portanto não deverá haver conflito de endereços no I2C bus.
RV
(Resolvido) Pessoal, muito obrigado pela ajuda de vocês. Consegui ligar os três componentes sem problemas.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por