| Ваш IP: 54.224.247.42 | Online(28) - гости: 18, боты: 10 | Загрузка сервера: 1.99 ::::::::::::

BMP280 – датчик атмосферного давления (Arduino)

BMP280 — датчик атмосферного давления, обладает высокой точностью, хорошей стабильностью и линейностью. Помимо измерения атмосферного давления, датчик измеряет температуру и высчитывает высоту над уровнем моря.

Технические характеристики датчика BMP280:

  • Напряжение питания: от 1.71 В до 3.6 В
  • Макс скорость I2C интерфейса: 3.4 МГц
  • Потребляемый ток: 2.7 мкA при частоте отсчетов в 1 Гц
  • Интерфейс: I2C, SPI (4 Провода), SPI (3 Провода)
  • Калибровка: заводская
  • Уровень шума: до 0.2 Па (1.7 см) и 0.01 температуры
  • Диапазон измеряемого давления: от 300 hPa до 1100 hPa (9000 м до -500 м)
  • Размер: 2.5 мм х 2.0 мм х 0.95 мм

Датчик может работать по I2C и SPI, в данном примере будет рассмотрено подключение по шине I2C.

Далее Вам понадобятся скачать две библиотеки:

Перед тем как загружать скетч для работы датчика необходимо узнать адрес уст-ва при подключении к шине I2C, для этого загрузите следующий скетч (сканер i2c):

#include <Wire.h>
 
void setup(){
    Wire.begin();    
 
    Serial.begin(9600);
    while (!Serial);
    Serial.println("\nI2C Scanner");
} 
 
void loop(){
    byte error, address;
    int nDevices;
 
    Serial.println("Scanning...");
 
    nDevices = 0;
    for(address = 8; address < 127; address++ ){
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
 
        if (error == 0){
            Serial.print("I2C device found at address 0x");
            if (address<16)
                Serial.print("0");
            Serial.print(address,HEX);
            Serial.println(" !");
 
            nDevices++;
        }
        else if (error==4) {
            Serial.print("Unknow error at address 0x");
            if (address<16)
                Serial.print("0");
            Serial.println(address,HEX);
        } 
    }
    if (nDevices == 0)
        Serial.println("No I2C devices found\n");
    else
        Serial.println("done\n");
 
    delay(5000);
}

Как видно на скриншоте адрес уст-ва определился как 0х76. Далее откройте файл Adafruit_BMP280.h библиотеки и сравните адрес уст-ва с указанным в файле, если адрес отличается укажите свой.

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
 
#define BMP_SCK 13
#define BMP_MISO 12
#define BMP_MOSI 11 
#define BMP_CS 10
 
Adafruit_BMP280 bmp; // I2C
//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);
  }
}
 
void loop() {
    Serial.print(F("Temperature = "));
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");
 
    Serial.print(F("Pressure = "));
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");
 
    Serial.print(F("Approx altitude = "));
    Serial.print(bmp.readAltitude(1013.25)); // this should be adjusted to your local forcase
    Serial.println(" m");
 
    Serial.println();
    delay(2000);
}

Для перевода Паскалей в мм.рт.ст используйте следующую формулу:

Р(мм.рт.ст) = Р (Pa) / 133.3224

Добавить комментарий

Случайные статьи

  • Выключатель вентилятора принудительного охлаждения

    Когда температура поднимается выше вечернего температурного порога уст-во выключает нагрузку(вентилятор), а когда температура падает до нижнего температурного порога уст-во включает нагрузку. Вентилятор в данном уст-ве управляется с помощью температурного ключа VT1 VT2. Среднее температурное значение устанавливается резистором R4, это сопротивление изменяет напряжение на прямом входе компаратора. Напряжение на инверсном входе …Подробнее...
  • Стабилизаторы напряжения на основе ОУ

    Стабилизаторы напряжения на основе ОУ

    Однополярные стабилизаторы напряжения на основе ОУ могут быть построены по схеме инвертирующего и неинвертирующего усилителя, на вход которого подано стабильное напряжение от опорного источника. Достоинством таких стабилизаторов является возможность получения различных по абсолютному значению и знаку стабилизированных напряжений при неизменном опорном. На первом рисунке показана схема стабилизатора в котором на …Подробнее...
  • Простой цифровой индикатор

    Эту схему удобно применять только в тех случаях когда необходима цифровая индикация со средней степенью точности, например в БП от 1 до 10 или 1…99В без десятичного разряда. В основе схемы лежит принцип сравнения величины измеряемого сигнала с линейно нарастающим напряжением и измерения времени нарастания этого напряжения до момента совпадения …Подробнее...
  • Трехканальный усилитель для автомобильной аудиосистемы

    Параметры усилителя: Суммарный диапазон воспроизводимых частот 12…20000Гц Максимальная выходная мощность СЧ-ВЧ каналов(Rн=2,7Ом, Uп=14В) 2*12Вт Максимальная выходная мощность НЧ канала(Rн=4Ом, Uп=14В) 24Вт Номинальная мощность СЧ-ВЧ каналов при КНИ 0,2% 2*8Вт Номинальная мощность НЧ канала при КНИ 0,2% 14Вт Максимальный ток потребления 8 А В данной схеме А1 — ВЧ-СЧ усилитель, а …Подробнее...
  • Чувствительный металлоискатель

    Большинство металлоискателей построены по схеме нулевых биений, это когда имеется 2-а генератора с постоянной и поисковой частотой, при этом частота поискового генератора зависит от индуктивности поисковой катушки. Повысить чувствительность металлоискателя построенного по такому методу можно если поднять опорную частоту примерно в 10 раз больше частоты поискового генератора. Используя такой метод …Подробнее...