Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Fysik manticor inc 2018
- * Teknisk Gymnasium Viby
- *
- * Arduino nano
- * OpenLog SD Card
- * BMP085
- */
- //Includes
- #include <Wire.h>
- #include <I2Cdev.h>
- #include <BMP085.h>
- #include <Math.h>
- //Variables
- BMP085 barometer;
- float temperatureBMP085;
- float pressure;
- //float altitude;
- //float p0 = 101325.0; //tryk ved vandoverflade (muligvis ændres før start)
- int32_t lastMicros;
- int time = 0;
- //float deltah;
- //float p1 = 101066.00; //ændre før start (tryk ved start)
- //float h1 = 57.6; //ændre før start (højde ved start)
- void setup() {
- Serial.begin(9600); //SD - card
- delay(1000);
- Wire.begin();
- Serial.println("Data logging starts");
- Serial.println();
- }
- void loop() {
- getTemperatureBMP085();
- getPressureBMP085();
- printData();
- delay(500);
- time += 0.5;
- }
- void getTemperatureBMP085(){
- // request temperature
- barometer.setControl(BMP085_MODE_TEMPERATURE);
- // wait appropriate time for conversion (4.5ms delay)
- lastMicros = micros();
- while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
- // read calibrated temperature value in degrees Celsius
- temperatureBMP085 = barometer.getTemperatureC();
- }
- void getPressureBMP085(){
- lastMicros = micros();
- // request pressure (3x oversampling mode, high detail, 23.5ms delay)
- barometer.setControl(BMP085_MODE_PRESSURE_3);
- while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
- //read calibrated pressure value in Pascals (Pa)
- pressure = barometer.getPressure();
- }
- void printData(){
- String outputString = "";
- outputString = String(time) + "," + String(temperatureBMP085) + "," + String(pressure);
- //Print SD Card
- Serial.println(outputString);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement