В данном уроке, мы подключим датчик BMP180:
считаем с него температуру и давление, а так же выведем на экран данные значения.
Датчик ВМ180 имеет следующие параметры:
Экран мы возьмем SSD1306, так как экран и датчик BMP185 подключаются к шине I2C — они подключаются на одни и теже ножки нашей платы:
GND -> GND
VIN -> 5V
SDA -> A4
SCL -> A5
Схема подключения:
Программный код:
#include <Wire.h> #include <Adafruit_BMP085.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) #define OLED_RESET LED_BUILTIN // Reset pin # (or -1 if sharing Arduino reset pin) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); Adafruit_BMP085 bmp; void setup() { // initialize with the I2C addr 0x3C display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.display(); delay(2000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); if (!bmp.begin()) { display.clearDisplay(); display.setCursor(50,0); display.println("BMP180 - Error"); display.display(); while (1) {} } } void loop() { display.clearDisplay(); display.setCursor(25,0); display.println("BMP180-Ok"); display.setCursor(5,10); display.print("Temperature="); display.print(bmp.readTemperature()); display.write(247); display.print("C"); display.setCursor(5,20); display.print("Pressure="); display.print(bmp.readPressure()); display.print("Pa"); display.setCursor(5,30); display.print("P_ctolb="); display.print(bmp.readPressure()/133); display.print("mm"); display.display(); delay(2000); }