Датчика барометрического давления GY-68 BMP180

Модуль GY-68 BMP180 представляет собой высокоточный цифровой датчик атмосферного давления и температуры. Он работает по протоколу I2C и может быть легко интегрирован в различные системы и проекты.

Основные технические характеристики модуля:

  • Диапазон измерения давления: от 300 до 1100 гПа.
  • Диапазон измерения температуры: от -40 до +85 градусов Цельсия.
  • Точность измерения давления: 1 гПа.
  • Точность измерения температуры: 0,1 градуса Цельсия.
  • Интерфейс связи: I2C.
  • Напряжение питания: от 1,8 до 3,6 В.

Для работы с модулем GY-68 BMP180 необходимо подключить его к плате контроллера, например, к ESP8266, используя протокол I2C. Для этого на модуле есть два контакта: SDA и SCL, которые соответствуют линиям передачи данных и синхросигналов, соответственно. Кроме того, на модуле есть контакт EOC, который сообщает о завершении измерений.

Пример кода для работы с модулем GY-68 BMP180 на ESP8266:

#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;

void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
    Serial.println("Could not find a valid BMP085 sensor, check wiring!");
    while (1) {}
  }
}

void loop() {
  Serial.print("Temperature = ");
  Serial.print(bmp.readTemperature());
  Serial.println(" *C");

  Serial.print("Pressure = ");
  Serial.print(bmp.readPressure());
  Serial.println(" Pa");

  Serial.print("Altitude = ");
  Serial.print(bmp.readAltitude());
  Serial.println(" meters");

  Serial.println();
  delay(1000);
}

В данном примере мы используем библиотеку Adafruit_BMP085.h, которая облегчает работу с датчиком. В функции setup() мы инициализируем последовательный порт и проверяем, удалось ли инициализировать датчик. В функции loop() мы получаем показания температуры, давления и высоты и выводим их на последовательный порт.

Для работы с модулем GY-68 BMP180 на платформе esp8266 нам потребуется библиотека Adafruit_BMP085.h, которую мы подключаем в начале программы:

#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;

Затем мы инициализируем шину I2C в функции setup() и инициализируем объект bmp:

void setup() {
  Serial.begin(9600);
  Wire.begin(D1, D2);
  if (!bmp.begin()) {
    Serial.println("Could not find a valid BMP085 sensor, check wiring!");
    while (1) {}
  }
}

Функция bmp.begin() инициализирует модуль BMP180 и возвращает значение true, если датчик был успешно найден. В случае неудачи программа зависает в бесконечном цикле.

Далее в цикле loop() мы получаем значения давления и температуры с помощью функций bmp.readPressure() и bmp.readTemperature(). Оба значения выводим на серийный порт.

void loop() {
  float temperature = bmp.readTemperature();
  float pressure = bmp.readPressure() / 100.0F;
  
  Serial.print("Temperature = ");
  Serial.print(temperature);
  Serial.println(" *C");
  
  Serial.print("Pressure = ");
  Serial.print(pressure);
  Serial.println(" hPa");
  
  delay(1000);
}

Заметьте, что значение давления, полученное функцией bmp.readPressure(), представлено в Па (паскалях). Мы делим его на 100, чтобы получить значение в гектопаскалях (hPa).

Таким образом, модуль GY-68 BMP180 является достаточно простым в использовании датчиком барометрического давления для esp8266, который может быть использован в различных проектах, связанных с метеорологией или контролем окружающей среды.

Оставьте комментарий