Como usar o sensor de temperatura e pressão BMP280 com Arduino

How to Use the BMP280 Temperature and Pressure Sensor with Arduino

O BMP280 é um sensor de alta precisão que mede pressão, temperatura e altitude barométricas. É amplamente utilizado em estações meteorológicas, rastreadores de altitude e dispositivos de IoT devido à sua precisão e opções de comunicação I2C/SPI. Este tutorial o guiará através da conexão e do uso do BMP280 com o Arduino.


O que você precisará

  1. Módulo do sensor BMP280
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Fios de pão e jumper
  4. Um computador com o Arduino IDE instalado

Etapa 1: Compreendendo o BMP280

O sensor BMP280 suporta a comunicação I2C e SPI. A maioria das placas de fuga padrão no modo I2C, que requer menos fios.

BMP280 PILOUT

Alfinete Função
VCC Fonte de alimentação (3,3V ou 5V)
Gnd Chão
SCL I2C Linha do relógio
SDA I2C Linha de dados
CSB Chip Selecione para SPI (opcional)
Sdo Dados SPI OUT OUT/I2C Endereço Seleção
  • Observação: Para a comunicação i2C, conecte -se SDO para GND para o endereço padrão (0x76) ou para VCC para 0x77.

Etapa 2: Fiação do BMP280 para Arduino

Veja como conectar o BMP280 a um Arduino UNO no modo I2C:

Pino BMP280 Pino Arduino
VCC 5V
Gnd Gnd
SCL A5
SDA A4

Observação: Para outras placas do Arduino, verifique os pinos I2C específicos na documentação do seu quadro.


Etapa 3: Instale a biblioteca necessária

A biblioteca "Adafruit BMP280" facilita a interagem com o sensor.

Etapas para instalar a biblioteca:

  1. Abra o Arduino IDE.
  2. Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
  3. Pesquise "Adafruit BMP280" e clique Instalar.
  4. Além disso, instale a biblioteca "Adafruit Unified Sensor", se solicitado.

Etapa 4: Faça o upload do código

Aqui está um exemplo de esboço para ler temperatura, pressão e altitude do BMP280:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp; // Create BMP280 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("BMP280 Sensor Test");

  if (!bmp.begin(0x76)) { // Default I2C address is 0x76
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  Serial.print("Temperature: ");
  Serial.print(bmp.readTemperature());
  Serial.println(" °C");

  Serial.print("Pressure: ");
  Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
  Serial.println(" hPa");

  Serial.print("Approx. Altitude: ");
  Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
  Serial.println(" m");

  Serial.println();
  delay(2000); // Wait for 2 seconds before the next reading
}

Etapa 5: teste a configuração

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
  3. Faça o upload do código para o Arduino clicando Carregar.
  4. Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como 9600.
  5. Observe as leituras de temperatura, pressão e altitude exibidas no monitor serial.

Aplicações do BMP280

  1. Estações meteorológicas
  2. Medição de altitude em drones
  3. IoT Monitoramento ambiental
  4. Navegação baseada em pressão barométrica

Solução de problemas

  • Nenhuma resposta do sensor: Verifique duas vezes a fiação e verifique se o endereço i2C corresponde à configuração.
  • Leituras incorretas: Verifique se o sensor não está exposto a condições ambientais extremas ou distúrbios do fluxo de ar.
  • Erros da biblioteca: Verifique a biblioteca "Adafruit BMP280" está instalada corretamente.

Conclusão

Você interfigurou com sucesso o sensor BMP280 com o Arduino, permitindo medições precisas de temperatura, pressão e altitude. Esse sensor versátil é perfeito para uma variedade de aplicações, desde o monitoramento climático até a navegação por drones. Experimente mais, integrando o BMP280 com plataformas de registradores, displays ou IoT de dados para projetos avançados!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.