#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
#include <SD.h>
const int chipSelect = 10; // Pino CS do microSD
Adafruit_BMP280 bmp; // Objeto para o BMP280
void setup() {
// Iniciar comunicação serial
Serial.begin(9600);
// Iniciar o sensor BMP280
if (!bmp.begin()) {
Serial.println("Erro ao inicializar o BMP280");
while (1);
}
// Iniciar o módulo SD
if (!SD.begin(chipSelect)) {
Serial.println("Falha ao inicializar o cartão SD");
while (1);
}
// Criar ou abrir o arquivo no cartão SD
File dataFile = SD.open("dados.txt", FILE_WRITE);
if (dataFile) {
dataFile.println("Temperatura, Pressao"); // Cabeçalho
dataFile.close();
} else {
Serial.println("Falha ao abrir o arquivo");
}
}
void loop() {
// Ler dados do BMP280
float temperatura = bmp.readTemperature();
float pressao = bmp.readPressure() / 100.0F; // Converte para hPa
// Exibir os dados no monitor serial
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.print(" °C");
Serial.print(" | Pressao: ");
Serial.print(pressao);
Serial.println(" hPa");
// Abrir o arquivo e gravar os dados
File dataFile = SD.open("dados.txt", FILE_WRITE);
if (dataFile) {
dataFile.print(temperatura);
dataFile.print(", ");
dataFile.println(pressao);
dataFile.close();
} else {
Serial.println("Erro ao gravar no arquivo");
}
// Esperar 2 segundos antes de ler novamente
delay(2000);
}