| Ваш IP: 54.234.228.78 | Online(16) - гости: 8, боты: 8 | Загрузка сервера: 0.98 ::::::::::::

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

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

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

  • Двухканальный электронный цифровой регулятор громкости на ИМС КА2250

    Предлагаемый регулятор имеет значительно меньший Кг и уровень шумов, чем регулятор на ИМС К174УН12 (A273D). Вторым его достоинством является использование для регулировки вместо аналоговых потенциометров всего двух кнопок SB1 («Тише») и SB2 («Громче»). Типовая схема включения ИМС KA2250 обеспечивает синхронную регулировку громкости двух каналов этими двумя кнопками. К достоинствам ИМС …Подробнее...
  • Двух канальный регулятор тембра на транзисторах

    Двух канальный регулятор тембра на транзисторах

    На рисунке показана схема малошумящего двух канального регулятора тембра. Каждый канал содержит по три транзистора С945, это старые транзисторы но их можно заменить на аналоги: 2SC945, 2SC1000,  BC547, КТ3102Д. Напряжение питания регулятора тембра может быть в пределах от 12 до 24 В, ток потребления каждого канала не превышает 80 мА (при напряжении питания …Подробнее...
  • FM-передатчик

    FM-передатчик

    В этом fm-передатчике используется конденсаторный микрофон, обратите внимание чтобы плюс микрофона через резистор R1 был подключен к положительному полюсу источника питания. Сигнал с микрофона подается на базу транзистора VT1 через разделительный конденсатор С1 (10мкФ). VT1 действует как усилитель ЗЧ и одновременно как генератор ВЧ, в итоге на выходе передатчика мы …Подробнее...
  • LM3915 — 10-и разрядный индикатор уровня

    LM3915 — 10-и разрядный индикатор уровня

    На рисунке показана схема простого десятиразрядного индикатора уровней. Основа схемы ИМС LM3915, напряжение питания от 5 до 20В, при напряжении питания 5В стабилизатор 7805 из схемы можно исключить. Устройство подключается непосредственно к линейному выходу.Подробнее...
  • Блок стабилизатора с регулируемым выходным напряжением 3…30В/3А

    Этот блок стабилизатора обеспечивает выходное регулируемое напряжение от 3 до 30 В при максимальном токе до 3А. Технические характеристики: Защита от перегрузки Защита от КЗ Выходной ток: макс. 3A Выходные пульсации напряжения не более 0.5mV Выходное напряжение: регулируемое от 3 до 30В, стабилизированные Входное напряжение: от 9 до 30 В …Подробнее...