#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>
#define BMP_SCK (18)
#define BMP_MISO (19)
#define BMP_MOSI (23)
#define BMP_CS (5)
Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK);
#define SEALEVELPRESSURE_HPA (1013.25)
void setup() {
Serial.begin(115200);
if (!bmp.begin(0x76)) { // Verifique o endereço I2C, pode ser 0x76 ou 0x77
Serial.println("Não foi possível encontrar um BMP280 válido, verifique a conexão!");
while (1);
}
}
void loop() {
float temperatura = bmp.readTemperature();
float pressao = bmp.readPressure() / 100.0F; // Convertendo para hPa
float altitude = 44330 * (1.0 - pow(pressao / SEALEVELPRESSURE_HPA, 0.1903));
Serial.print("Temperatura = ");
Serial.print(temperatura);
Serial.println(" °C");
Serial.print("Pressão = ");
Serial.print(pressao);
Serial.println(" hPa");
Serial.print("Altitude estimada = ");
Serial.print(altitude);
Serial.println(" m");
Serial.println();
delay(2000);
}