// --------------------------------------------------------------------------- // Program obslugujacy czujnik cisnienia i temperatury BMP280. // --------------------------------------------------------------------------- #include #include Adafruit_BMP280 bmp; void setup() { Serial.begin(9600); bmp.begin(0x76); /* Default settings from datasheet. */ bmp.setSampling( Adafruit_BMP280::MODE_FORCED, /* 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() { if (bmp.takeForcedMeasurement()) { Serial.print(F("Temperatura = ")); Serial.print(bmp.readTemperature()); Serial.println(" *C"); Serial.print(F("Cisnienie = ")); Serial.print(bmp.readPressure() / 100); Serial.println(" hPa"); Serial.println(); delay(2000); } else { Serial.println("Forced measurement failed!"); } } // --------------------------------------------------------------------------- // Program obslugujacy wyswietlacz OLED. // --------------------------------------------------------------------------- #include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 32 #define SW1_PIN 4 #define OLED_RESET -1 #define SCREEN_ADDRESS 0x3C Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); int counter = 0; void setup() { Serial.begin(9600); Serial.println("OLED Start"); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Clear the buffer. display.clearDisplay(); display.display(); delay(1000); pinMode(SW1_PIN, INPUT); // text display tests display.setTextSize(2); display.setTextColor(SSD1306_WHITE); display.setCursor(0, 0); display.print("SW1: "); display.print(counter); display.display(); } void loop() { if (digitalRead(SW1_PIN) == LOW) { delay(200); counter++; display.setCursor(0, 0); display.clearDisplay(); display.print("SW1: "); display.print(counter); display.display(); } }