Проблема такая: требуется объединить программу считывания информации с датчика BMP280 и запись этих данных на SD карточку.
Приблизительный пример (кривой копипаст, но прошу отнестись с пониманием).
#include <SPI.h>
#include <SD.h>
#include "Seeed_BMP280.h"
#include <Wire.h>
BMP280 bmp280;
const int chipSelect = 4;
String x;
void setup() {
Serial.begin(9600);
if(!bmp280.init()){
Serial.println("Device error!");
}
x= String (bmp280.getPressure());
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
return;
}
while(SD.begin(chipSelect)){
// выполнить что-то, повторив 2000 раз
// строка, которую мы запишем в файл
String dataString = x;
// открываем файл, в который будет записана строка
File dataFile = SD.open("test.txt", FILE_WRITE);
if (dataFile) {
// записываем строку в файл
dataFile.println(dataString);
dataFile.close();
Serial.println("Success!");
} else {
// выводим ошибку если не удалось открыть файл
Serial.println("error opening file");
}
delay(2000);
}
}
void loop()
{
float pressure;
//get and print temperatures
Serial.print("Temp: ");
Serial.print(bmp280.getTemperature());
Serial.println("C"); // The unit for Celsius because original arduino don't support speical symbols
//get and print atmospheric pressure data
Serial.print("Pressure: ");
Serial.print(pressure = bmp280.getPressure());
Serial.println("Pa");
//get and print altitude data
Serial.print("Altitude: ");
Serial.print(bmp280.calcAltitude(pressure));
Serial.println("m");
Serial.println("\n");//add a line between output of different times.
delay(2000);
}