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:
Bom dia,
Não entendi . De qual placa você retirou os resistores de pullup ??
Você não deve usar 3 pares de resistores de pullup. Somente um par - o recomendado é de 4,7K.
https://en.wikipedia.org/wiki/I%C2%B2C
http://www.arduinobr.com/arduino/i2c-protocolo-de-comunicacao/
Eu tirei dos 2 últimos dispositivos, mas deu problema, o MPU6050 não está mais comunicando de forma adequada, não sei se você reparou mas os 3 dispositivos possuem reguladores e os resistores de pullup estão ligados a eles, você acha recomendável retirar todos os 3 pares e colocar apenas um par na alimentação principal como estão nos docs que você indicou?
Os resistores de pullup não tem nada a haver com reguladores de tensão.
Eu pedi que enviasse as fotos dos módulos para eu confirmar se retirou os resistores corretos.
Ficarei aguardando essas fotos. Sugiro que mantenha somente os resistores de 4,7K do GY906-MLX90614.
Envie as fotos dos 3 módulos novamente.
Os módulos tem reguladores de 3,3V.
Informe o valor da tensão aplicada nos pinos de alimentação (não pode ser somente 3,3V)
GY906-MLX90614 - VIN ( 4.3V<Vin<6V)
MPU6050 - VCC
MAX30100 - VIN
DEVE SER POR ISSO QUE TEM OCORRIDO PROBLEMAS NA SUA MONTAGEM.
Realmente o GY906 a tensão de alimentação é 5V, (https://www.wiltronics.com.au/wp-content/uploads/datasheets/ard2-21...) e a saída é 3V3 por causa do regulador 662K.
O GY521-MPU6050 a alimentação pode variar de 3 a 5V e o RWCL0530-MAX30100 o VIN pode varia de 1,85 a 5,5V, talvez por isso que n]ao estivesse dando certo, vou ligar a alimentação do GY906 em 5V para ver no que dá.
O meu medo é que uso o ESP8266 no qual todas as entradas são de 3V3 e no datasheet diz que se entrar com 5V ele pode pifar.
Carlos,
Tem que pesquisar bastante antes de ir ligando os módulos. Senão vai ter inúmeros problemas.
O GY906-MLX90614 deve ser alimentado com 5V !
https://www.wiltronics.com.au/wp-content/uploads/datasheets/ard2-21...
O GY521-MPU6050 deve ser alimentado com 5V !
https://maker.pro/arduino/tutorial/how-to-interface-arduino-and-the...
https://github.com/tobozo/Rotatey_Cube
O MAX30100 deve ser alimentado com 5V !
https://pekolibrary.wordpress.com/2018/05/27/rcwl-0530-max30100/
https://www.teachmemicro.com/max30100-arduino-heart-rate-sensor/
Por isso os seus módulos funcionam incorretamente.
Ok, tudo bem, vou testar.
Você não acha melhor eu tirar todos os resistores de pullup dos módulos e colocar um externo para 3v3 próximo do ucontrolador?
Não. Sugiro que siga as minhas recomendações.
Bom dia,
O Datasheet do MAX30100 informa esses seguintes endereços.
Favor testar e confirmar :
I2C Write Address = AE Hex
I2C Read Address = AF Hex
No protocolo da interface I2C use a velocidade de 400 KHz somente.
Fiz o que você sugeriu tirei os pullups do MAX30100 e do MPU6050, mas o problema continua o mesmo, o termômetro está doido mostrando nas duas temperaturas 1037.55.
Boa tarde, Carlos, Favor responder .
1) Alimentou todos os módulos com 5V ?
2) Rode o I2S scanner com cada um dos módulos. Envie todas as mensagens do programa.
3) Depois rode novamente o I2Scanner com os três modulos conectados. Envie todas as mensagens do programa.
Arduino I2C scanner
Sim, todos os módulos ligados em 5V.
Rodando o i2c_scanner:
Com o módulo GY906-MLX90614:
Scanning...
I2C device found at address 0x5A !
done
Com o módulo GY521-MPU6050:
Scanning...
I2C device found at address 0x68 !
done
Com o módulo MAX30100:
Scanning...
I2C device found at address 0x68 !
done
Com os 3 módulos conectados:
Scanning...
I2C device found at address 0x57 !
I2C device found at address 0x5A !
I2C device found at address 0x68 !
done
Aparentemente tudo certo, tudo normal.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por