Bom dia!

Estou tentando ligar dois sensores BPM085 no mesmo Arduíno mais não estou conseguindo, pois não estou conseguindo trocar, em um dos sensores, os pinos de ligação A4 e A5. Seria possível fazer esse tipo de ligação? A possibilidade de trocar as os pinos de entrada de informação? O Arduíno que estou usando é o UNO. Abraço

Exibições: 355

Responder esta

Respostas a este tópico

Oi PRA, boa noite.

Nunca usei este sensor, mas analisando o datasheet dele, verifiquei que ele tem um endereço fixo de I2C,

0xEE para write e 0xEF para read.

link https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-D...

Para usar dois sensores, faz-se necessario controlar o pino XCLR do sensor para selecionar cada sensor a ser usado.

Como voce nao postou seu code, nao  e' possível saber como voce esta' manuseando a informação e o controle dos sensores.

Rui

Rui

Primeiramente obrigado.

Caro Rui sou professor de Física e venho desenvolvendo um experimento onde precisaria utilizar dois desses sensores com intuito de mostrar a influencia do aumento do gás carbonico em um dos ambientes. Não conheço bem a linguangem programacional e nem os hardware, porém se vc me orientar poderei lhe dar as informaçoes necessárias.

Camarada Rui, você não faz idéia de como me ajudaria!

Abraço

Oi PRA,

  • uma característica do bus I2C (usado por este sensor) é que vc pode ligar diversos dispositivos em paralelo. (usar mesmos pinos)

  • Para saber qual dispositivo está usando o I2C usa um endereço para cada dispositivo.

  • Mas no caso deste dispositivo, ele não permite usar endereço diferente do que está gravado nele.

  • Que é em Hexa 0x0E.

  • Então o fabricante colocou um recurso a mais, chamado de XCLR, que desativa o modulo, permitindo assim o uso do outro modulo que está em paralelo no mesmo bus com ele.

  • Então usando uma porta digital do arduino, talvez possamos selecionar um BMP085 de cada vez e ler os dados dele.

Rui

amigo, às vezes aparecem certos "problemas" na nossa vida que são facilmente resolvidos com dinheiro. Para esses casos, eu não chamaria exatamente de "problema", mas sim de "dificuldade".

O que eu quero dizer com isso? Quero dizer que, em última instância, se vc perceber que seu projeto está emperrado por causa desse detalhezinho, que é colocar 2 BMP85 num mesmo arduino, recomendo-te a solução da "força-bruta", talvez a mais simples, talvez a mais rápida: instala um BMP85 em cada arduino e siga em frente. Não deixe esse detalhezinho (custo um pouco maior) empacar o teu projeto. 

Em certos momentos, há dificuldade tão grande em se resolver as questões de uma maneira mais lógica, ou econômica, ou elegante, ou sei lá o que, mas que se vc gastar um pouco a mais, tudo se resolve, mesmo às custas de falta de elegância ou falta de eficiência. 

Digo isso porque certa vez eu queria utilizar um único arduino pra controlar várias coisas (shield, relês, módulos, etc), mas as coisas emperravam, não funcionavam bem. Quando passei a não priorizar mais o minimalismo, isto é, usei mais arduinos quando percebi que era a solução, o projeto fluiu. E depois de pronto, voltei etapa por etapa e procurei melhorá-las.

Então, primeiro bote pra funcionar, depois volta pra tentar otimizar aquilo que dá.

Estou ciente de que se vc veio aqui ao fórum,  foi pra tentar obter uma solução técnica e cirúrgica pro seu problema e pra fazer isso que estou te sugerindo, não precisaria vir ao fórum, pois é intuitivo usar essa solução que apresentei. Mas se vc sente dificuldades em programar ou mudar bibliotecas, ou isso te emperrar o projeto, não fique com vergonha de fazer o mais fáicl. 

Outro aspecto importante também é que nem sempre devemos priorizar a redução de custos. Se não estivermos trabalhando em um projeto comercial, onde a escala de produção nos obriga a enxugar os custos pra atividade se tornar mais lucrativa, mas ao invés de atividade comercial vc está montando um projeto único, onde o impacto no custo final não fica muito prejudicado pelo fato de vc não ter priorizado o minimalismo, não pense duas vezes: é melhor concluir o projeto do que ficar semanas ou meses tentando resolver as coisas.

Oi PRA, modifiquei o code que voce disse que está usando para ler 2 sensores.

Seque anexo o code:

As ligações deverão ser feitas assim:

Como não consegui identificar se o BMP085 na porta XCLE pode receber +5V, eu usei um resistor limitador,

e chutei o valor de 4K7, mas talvez funcione com valor menor.

Segue abaixo a maneira que deverá ligar os módulos.  Só não tenho como testar pois não tenho os módulos.

Boa sorte.

Rui

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço