Shenzhen Shanhai Technology Ltd.

Tecnologia Ltd. de Shenzhen Shanhai Fabricação profissional do módulo de GPS do modem e do módulo da G/M GPRS. Nós fornecemos os produtos de alta qualidade, o preço competitivo, e o serviço ao cliente

Manufacturer from China
Dos Estados-activa
14 Anos
Casa / Produtos / placa do arduino /

Módulo do sensor da pressão BMP085 barométrica

Contate
Shenzhen Shanhai Technology Ltd.
Cidade:shenzhen
Província / Estado:guangdong
Pessoa de contato:Ms. angel he
Contate

Módulo do sensor da pressão BMP085 barométrica

Pergunte o preço mais recente
Marca :arduino
Certificação :CE
Preço :15.55usd
Lugar de origem :porcelana
Número de modelo :BMP085
Quantidade de ordem mínima :1
Prazo de entrega :2-3 dias
Termos do pagamento :Paypal avançado do TT
Capacidade da fonte :10000pcs
Contate

Add to Cart

Encontre vídeos semelhantes
Ver descrição do produto

Descrição: Esta é uma placa simples para a elevada precisão BMP085, sensor da fuga da pressão barométrica da baixa potência. O BMP085 oferece uma escala de medição do hPa 300 a 1100 com uma precisão absoluta de para baixo a 0,03 hPa. Tem com base na tecnologia piezoresistente para o vigor da compatibilidade electrónica, precisão alta e linearidades assim como estabilidade a longo prazo. Este sensor apoia uma fonte da tensão entre 1,8 e 3.6VDC. É projetado ser conectado diretamente a um microcontrolador através do ônibus do ² C de I

Esta placa tábua de pão-amigável estoira todos os pinos do BMP085 6 a um pino 0,1" encabeçamento do passo. O analógico e as fontes digitais (VDDD e VDDA) do BMP085 são amarrados junto e estoirados a um único pino. Nós igualmente pusemos dois 4.7k levantamos os resistores naslinhasde I2C.

Características:

  • Relação do fio de Digitas dois (I2C)
  • Amplitude da pressão barométrica larga
  • Escala flexível da tensão de fonte
  • Ultra-baixo consumo de potência
  • Medida de baixo nível de ruído
  • Calibrado inteiramente
  • Medida da temperatura incluída
  • pegada Ultra-lisa, pequena

Dimensões:

  • 0,65 x 0,65" (16,5 x 16,5 milímetros)

 

Enganchando o acima:

Está aqui o guia ilustra como conectar um Arduino à placa da fuga ADXL345. O seguinte é uma tabela que descreve que pinos no Arduino devem ser conectados aos pinos no acelerômetro:

 

Pin de Arduino Pin ADXL345
A4 SDA
A5 LCC
3V3 VCC
Terra

Terra

 

 

 

 

Código de teste:


#include <Wire.h>

Endereço do #define BMP085_ADDRESS 0x77 //I2C de BMP085

carvão animal sem assinatura do const OSS = 0;  Ajuste de //Oversampling

Valores da calibração de //
int ac1;
int ac2;
int ac3;
int sem assinatura ac4;
int sem assinatura ac5;
int sem assinatura ac6;
int b1;
int b2;
mb do int;
int mc;
DM do int;

//b5 é calculado em bmp085GetTemperature (...), esta variável é usado igualmente em bmp085GetPressure (...)
//assim que… a temperatura (...) deve ser chamado antes… da pressão (...).
b5 longo;

temperatura curto;
pressão longa;

instalação vaga ()
{
  Serial.begin (9600);
  Wire.begin ();
  bmp085Calibration ();
}

laço vago ()
{
  temperatura = bmp085GetTemperature (bmp085ReadUT ());
  pressão = bmp085GetPressure (bmp085ReadUP ());
  Serial.print (“temperatura: ");
  Serial.print (temperatura, DEC);
  Serial.println (“*0.1 DEG C”);
  Serial.print (“pressão: ");
  Serial.print (pressão, DEC);
  Serial.println (“Pa”);
  Serial.println ();
  atraso (1000);
}

//armazena todos os valores da calibração de bmp085 em variáveis globais
Os valores da calibração de //são exigidos para calcular o temp e a pressão
//esta função deve ser chamado no início do programa
bmp085Calibration vagos ()
{
  ac1 = bmp085ReadInt (0xAA);
  ac2 = bmp085ReadInt (0xAC);
  ac3 = bmp085ReadInt (0xAE);
  ac4 = bmp085ReadInt (0xB0);
  ac5 = bmp085ReadInt (0xB2);
  ac6 = bmp085ReadInt (0xB4);
  b1 = bmp085ReadInt (0xB6);
  b2 = bmp085ReadInt (0xB8);
  mb = bmp085ReadInt (0xBA);
  mc = bmp085ReadInt (0xBC);
  DM = bmp085ReadInt (0xBE);
}

//calcula o ut dado temperatura.
O valor de //retornado estará nas unidades de 0,1 DEG C
bmp085GetTemperature curto (ut sem assinatura do int)
{
  x1 longo, x2;
 
  x1 = ((ut (longo) - ac6 (longo)) * ac5 (longo)) >> 15;
  x2 = (mc (longo) << 11)/(x1 + DM);
  b5 = x1 + x2;

  retorne ((b5 + 8) >>4);  
}

//calcula a pressão dada acima
os valores da calibração de //devem ser sabidos
//b5 é exigido igualmente assim que bmp085GetTemperature (...) deve ser chamado primeiramente.
O valor de //retornado será pressão nas unidades de Pa.
bmp085GetPressure longo (ascendentes longos sem assinatura)
{
  x1 longo, x2, x3, b3, b6, p;
  b4 longo sem assinatura, b7;
 
  b6 = b5 - 4000;
  //calcula B3
  x1 = (b2 * (b6 * b6) >>12) >>11;
  x2 = (ac2 * b6) >>11;
  x3 = x1 + x2;
  b3 = ((((ac1 (longo)) *4 + x3) <<OSS) + 2)>>2;
 
  //calcula B4
  x1 = (ac3 * b6) >>13;
  x2 = (b1 * ((b6 * b6) >>12))>>16;
  x3 = ((x1 + x2) + 2)>>2;
  b4 = (ac4 * (longo sem assinatura) (x3 + 32768))>>15;
 
  b7 = ((longo sem assinatura) (acima de - b3) * (50000>>OSS));
  se (b7 < 0x80000000)
    p = (b7<<1) /b4;
  mais
    p = (b7/b4) <<1;
    
  x1 = (p>>8) * (p>>8);
  x1 = (x1 * 3038) >>16;
  x2 = (- 7357 * p)>>16;
  p += (x1 + x2 + 3791) >>4;
 
  p do retorno;
}

//leu 1 byte do BMP085 em ‘endereços
carvão animal bmp085Read (endereço sem assinatura do carvão animal)
{
  dados sem assinatura do carvão animal;
 
  Wire.beginTransmission (BMP085_ADDRESS);
  Wire.send (endereço);
  Wire.endTransmission ();
 
  Wire.requestFrom (BMP085_ADDRESS, 1);
  quando (! Wire.available ())
    ;
    
  Wire.receive do retorno ();
}

//leu 2 bytes do BMP085
O primeiro byte de //será dos ‘endereços
Byte de //o segundo será ‘de address'+1
int bmp085ReadInt (endereço sem assinatura do carvão animal)
{
  msb sem assinatura do carvão animal, lsb;
 
  Wire.beginTransmission (BMP085_ADDRESS);
  Wire.send (endereço);
  Wire.endTransmission ();
 
  Wire.requestFrom (BMP085_ADDRESS, 2);
  quando (Wire.available () <2)
    ;
  msb = Wire.receive ();
  lsb = Wire.receive ();
 
  retorne (int) msb<<8 | lsb;
}

//leu o valor uncompensated da temperatura
int sem assinatura bmp085ReadUT ()
{
  ut sem assinatura do int;
 
  //escreve 0x2E no registro 0xF4
  //isto pede uma leitura da temperatura
  Wire.beginTransmission (BMP085_ADDRESS);
  Wire.send (0xF4);
  Wire.send (0x2E);
  Wire.endTransmission ();
 
  Espera pelo menos 4.5ms de //
  atraso (5);
 
  //leu dois bytes dos registros 0xF6 e 0xF7
  ut = bmp085ReadInt (0xF6);
  ut do retorno;
}

//leu o valor uncompensated da pressão
bmp085ReadUP longos sem assinatura ()
{
  msb sem assinatura do carvão animal, lsb, xlsb;
  = 0 ascendente longo sem assinatura;
 
  //escreve 0x34+ (OSS<<6) no registro 0xF4
  Pedido de //uma leitura da pressão com o ajuste oversampling
  Wire.beginTransmission (BMP085_ADDRESS);
  Wire.send (0xF4);
  Wire.send (0x34 + (OSS<<6));
  Wire.endTransmission ();
 
  Espera de //para a conversão, dependente do tempo de atraso em OSS
  atraso (2 + (3<<OSS));
 
  //leu o registro 0xF6 (MSB), 0xF7 (LSB), e 0xF8 (XLSB)
  Wire.beginTransmission (BMP085_ADDRESS);
  Wire.send (0xF6);
  Wire.endTransmission ();
  Wire.requestFrom (BMP085_ADDRESS, 3);
 
  Espera de //para que os dados tornem-se disponíveis
  quando (Wire.available () < 3)
    ;
  msb = Wire.receive ();
  lsb = Wire.receive ();
  xlsb = Wire.receive ();
 
  acima de = (((msb longo sem assinatura) << 16) | ((lsb longo sem assinatura) << 8) | (xlsb longo sem assinatura)) >> (8-OSS);
 
  retorno acima;
}

Inquiry Cart 0