Caros,
Estou tentando utilizar 3 dispositivos na interface I2C, em um Wemos D1-R2 mini:
MPU6050 - acelerômetro e giroscópio
MAX30100 - frequencímetro de pulso e medidor de O2
GY906-MLX90614 - medidor de temperatura ambiente e de objeto
Mas quando conecto os 3 o GY906 fica maluco, coletando um valor fixo nas 2 temperaturas 1307 graus aproximadamente, isso pode ser devido ao resistor de pull-up? caso seja qual seria o valor ideal para esses resistores, estou utilizando alimentação de 3,3V para todos os dispositivos.
Tags:
Boa tarde CMT,
Os resistores devem ser usados somente em um dos modulos, ou seja, eles são do
interface I2C.
Mas não acredito que o probema seja este.
Com o sketch I2C scanner, descubra o endereço de cada dispositivo, e verifique se não tem repetição de endereços.
RV
Já verifiquei e os endereços de cada dispositivo é diferente.
Alimentação 3,3v bastante estável e estou utilizando o pino de 3,3v do Wemos e os endereços são:
MPU6050 - 0x68
GY906 - 0x5A
MAX30100 - 0x57
Opa !
Um módulo pode estar sobrepondo a faixa de endereços com a faixa de endereços do outro.
GY906 - 0x5A
MAX30100 - 0x57
Mude a faixa de algum desses módulos. É possível?
Pode ser o problema de endereço? os dois que estão em conflito começam com 0x5??
Acredito isso muito difícil, mas é o conflito que está ocorrendo, o MPU6050 com o MAX30100 funciona sem problema, o MPU6050 e o MLX90614 funcionam bem, quando ligo o MAX30100 e o MLX90614 dá pau no MLX90614.
Cada dispositivo tem seu próprio endereço então não seria um problema conectar esses 3 chips, isso não descarta um problema em software. Mas poderia ser um problema físico, se cada módulo possuir os resistores de pullup, vai deixar o barramento doido (torna difícil a mudança dos sinais) . Nesse caso é recomendável analisar cada módulo e remover os resistores.
Os 3 módulos possuem resistores de pullup:
Gy521 - MPU6050 -> resistores de 2k2
Gy906 - MLX90614 -> resistores de 4K7
RCWL0530 - MAX30100 -> resistores de 4k7
O que devo fazer para poder melhorar os sinais pois acho que a quantidade de resistores de pullup é que está atrapalhando.
Bom dia ,
Não pode usar resistores de pullup em cada módulo. Como o Rui já te informou, use somente um par de resistores de pullup. Um na linha SCL e o outro na linha SDA.
Dessolde os resistores de dois módulos. Sugiro que mantenha os de 4,7K.
Ok, vou testar!
Pode confiar na galera aqui !
Só tem fera. KKKK
Tirei os 2 resistores do GY521 eu tinha visto na foto como sendo 2k2 mas na placa tinha 4k7 e tirei os 2 resistores do GY906.
Não sei porque o MPU6050 não está medindo mais nada e o termômetro continua lendo um valor doido como 1037.55, tanto pra temperatura ambiente como objeto.
Notei que cada módulo possui o seu regulador de 3v3, isso pode interferir?
Carlos envie uma foto da sua montagem .
Se cada módulo tem um regulador de 3,3V , qual a tensão de alimentação de cada um ?
Deve ter alguma coisa errada na sua montagem.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por