Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // BMP085_test2
  2. // by Filipe Vieira
  3. // Simple test of BMP085 output using default settings using dynamic update.
  4. // In order to take full advantage of dynamic measurement, automatic temperature updates must be disabled.
  5. // To disable automatic updates set AUTO_UPDATE_TEMPERATURE to false in bmp085.h.
  6. // IMPORTANT!! To get correct values you MUST CHANGE init() parameters, in
  7. // this example I've set 250m based on GPS data for my location.
  8.  
  9. // recreated by Pavel Putna
  10.  
  11. #include <Wire.h>
  12. #include <BMP085.h>
  13.  
  14. //inicializuje objekt jeménem dps pro získání dat ze senzoru
  15. BMP085 dps = BMP085();      // Digital Pressure Sensor
  16. // připraví promené pro tlak, výšku a teplotu
  17. long Pressure = 0, Altitude = 0, Temperature = 0;
  18.  
  19. void setup(void) {
  20.  
  21.   Serial.begin(9600);
  22.   Wire.begin();
  23.   delay(1000);
  24.  
  25.   // odkomentujte pro rozdílný postup při použití senzoru
  26.   //dps.init();   // QFE (Field Elevation above ground level) je nastaveno na 0 metrů.
  27.                   // jako kdyby jste měřili tlak u hladiny moře
  28.                   // to samé jako init(MODE_STANDARD, 0, true);
  29.  
  30.   //dps.init(MODE_STANDARD, 101850, false);  // 101850Pa = 1018.50hPa, false = nastavené jednotky v Pa
  31.                   // tuto metodu použijte, když znáte tlakve vašem místě např. z meteorologické stanice
  32.                   // nebo z internetu z počasí
  33.  
  34.   dps.init(MODE_STANDARD, 55500, true);  // 555 metrů, true = nastavené jednotky v metrech
  35.                   // tuto metodu použijte, když znáte Vaši nadmořskou výšku,
  36.                   // tlak bude přepočítán automaticky na hladinu moře
  37.  
  38. }            
  39.  
  40. void loop(void) {  
  41.   // uloží do proměné "Pressure" hodnotu tlaku
  42.   dps.getPressure(&Pressure);
  43.   // uloží do proměné "Altitude" hodnotu výšky
  44.   dps.getAltitude(&Altitude);
  45.   // uloží do proměné "Altitude" hodnotu výšky
  46.   dps.getTemperature(&Temperature);
  47.  
  48.   // Výstup na Seriový port
  49.   // - nazapomenme, že teplota se pro správný výsledek musí
  50.   // vydělit číslem 10, protože je v rozlišení 0,1C a je udávaná
  51.   //  v celých číslech
  52.   Serial.print("  Vyska(m):");
  53.   Serial.print(Altitude);
  54.   Serial.print("  Tlak(Pa):");
  55.   Serial.print(Pressure);
  56.   Serial.print("  Teplota(C):");
  57.   Serial.println((float)Temperature/10);
  58.  
  59.   // počkáme 5 sekund, ať se z toho seriový port nezblázní :-)
  60.   delay(5000);
  61. }