Advertisement
Xfos

Fysik eksamen

Apr 3rd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. /*
  2. * Fysik manticor inc 2018
  3. * Teknisk Gymnasium Viby
  4. *
  5. * Arduino nano
  6. * OpenLog SD Card
  7. * BMP085
  8. */
  9.  
  10. //Includes
  11. #include <Wire.h>
  12. #include <I2Cdev.h>
  13. #include <BMP085.h>
  14. #include <Math.h>
  15.  
  16. //Variables
  17. BMP085 barometer;
  18.  
  19. float temperatureBMP085;
  20. float pressure;
  21. //float altitude;
  22. //float p0 = 101325.0; //tryk ved vandoverflade (muligvis ændres før start)
  23. int32_t lastMicros;
  24. int time = 0;
  25. //float deltah;
  26. //float p1 = 101066.00; //ændre før start (tryk ved start)
  27. //float h1 = 57.6; //ændre før start (højde ved start)
  28.  
  29.  
  30. void setup() {
  31.  
  32. Serial.begin(9600); //SD - card
  33. delay(1000);
  34. Wire.begin();
  35. Serial.println("Data logging starts");
  36. Serial.println();
  37.  
  38. }
  39.  
  40. void loop() {
  41. getTemperatureBMP085();
  42. getPressureBMP085();
  43.  
  44. printData();
  45.  
  46. delay(500);
  47. time += 0.5;
  48. }
  49.  
  50. void getTemperatureBMP085(){
  51. // request temperature
  52. barometer.setControl(BMP085_MODE_TEMPERATURE);
  53.  
  54. // wait appropriate time for conversion (4.5ms delay)
  55. lastMicros = micros();
  56. while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
  57.  
  58. // read calibrated temperature value in degrees Celsius
  59. temperatureBMP085 = barometer.getTemperatureC();
  60. }
  61.  
  62.  
  63. void getPressureBMP085(){
  64. lastMicros = micros();
  65. // request pressure (3x oversampling mode, high detail, 23.5ms delay)
  66. barometer.setControl(BMP085_MODE_PRESSURE_3);
  67. while (micros() - lastMicros < barometer.getMeasureDelayMicroseconds());
  68.  
  69. //read calibrated pressure value in Pascals (Pa)
  70. pressure = barometer.getPressure();
  71. }
  72.  
  73. void printData(){
  74.  
  75. String outputString = "";
  76.  
  77. outputString = String(time) + "," + String(temperatureBMP085) + "," + String(pressure);
  78.  
  79.  
  80. //Print SD Card
  81. Serial.println(outputString);
  82.  
  83.  
  84.  
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement