/*************************************************************************** * Current version for the 24 bit baro sensor, read pressure, temperature and humidity. * * Runs on an Arduino nano and uses the Jaycar Xc3702 BME 280 module * intention is to keep everything at the sensor end as simple as possible, the Windows software pretty well does everything else. * Code written by Blair.. * * ************************************************************************* This is a library for the BMP280 humidity, temperature & pressure sensor Designed specifically to work with the Adafruit BMP280 Breakout ----> http://www.adafruit.com/products/2651 These sensors use I2C or SPI to communicate, 2 or 4 pins are required to interface. Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit! Written by Limor Fried & Kevin Townsend for Adafruit Industries. BSD license, all text above must be included in any redistribution ***************************************************************************/ #include #include #include //#include // The following lines define the connections and pins to the nano #define BMP_SCK (13) #define BMP_MISO (12) #define BMP_MOSI (11) #define BMP_CS (10) Adafruit_BMP280 bmp; // I2C jaycar Xc3702 module is at 0x76, Altronics Z6455 module /* On the Nano with an atmega328, pin A4 is SDA and pin A5 is SCL. Same as on an UNO, or any other board based on the atmega328. Adafruit_BMP280 bmp(BMP_CS); // hardware SPI Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); */ void setup() { Serial.begin(9600); // Serial.println(F("BMP280 test")); if (!bmp.begin()) { Serial.println(F("Could not find a valid BMP280 sensor, check wiring!")); while (1); } /* Default settings from datasheet. */ bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ Adafruit_BMP280::FILTER_X16, /* Filtering. */ Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ } void loop() { // Serial.print(F("Temperature = ")); // Serial.print(bmp.readTemperature()); // Serial.println(" *C"); // Serial.print(F("Pressure = ")); Serial.print(bmp.readPressure()); Serial.print(" "); // 1 space Serial.print(bmp.readTemperature()); Serial.print(" "); // 1 space Serial.print(bme.readHumidity()); // Serial.println(" %"); // Serial.print(F("Approx altitude = ")); // Serial.print(bmp.readAltitude(1013.25)); /* Adjusted to local forecast! */ // Serial.println(" m"); Serial.println(); delay(1000); }