Модуль BMP180 (Arduino)

Модуль BMP180  — является недорогим и простым в использовании сенсорным датчиком, позволяющий измерить атмосферное давления и температуру окружающей среды.

Характеристики модуля BMP180:

  • Напряжение питания: 3.3 … 5 В
  • Минимальный рабочий ток: 5 мкА
  • Диапазон измерения: 300hPa .. 1100hPa
  • Точность измерения давления: 0,1 hPa
  • Точность измерения температуры: 0,1°С
  • Интерфейс подключения: I2C

Подключение к Arduino Nano:

  • A4  SDA
  • A5  SCL
  • VIN +5 или +3.3 В
#include <SFE_BMP180.h>
#include <Wire.h>
 
SFE_BMP180 h;
 
double t,p;
 
void setup(){
Serial.begin(9600);
h.begin();
}
 
void loop(){
int i = h.startTemperature();
delay(i);// время измерения
h.getTemperature(t);// измерение температуры
Serial.print(t,2);
Serial.println(" C");
 
i = h.startPressure(3);// точность 0-3
delay(i);// время измерения
h.getPressure(p,t);// измерение давления
Serial.print(p); // в миллибарах
Serial.println(" mbar"); 
 
Serial.print(p/1.333224,2);// в мм.рт.ст
Serial.println(" mm Hg");
Serial.println("");
delay(5000);
}

Библиотека SFE_BMP180.zip


Следующий скетч позволяет выводить температуру и давление на семисегментный четырех-разрядный индикатор на базе драйвера TM1637 (модуль TM1637). Показания температуры и давления сменяют друг друга каждые 5 секунд.

#include <SFE_BMP180.h>
#include <Wire.h>
#include <TM1637Display.h>
 
SFE_BMP180 h;
TM1637Display display(2, 3);// CLK,DIO
 
double t,p;
uint8_t data[]{0,0,0,0};
int s,p1,x,t1;
 
void setup(){
h.begin();
display.setBrightness(3);// яркость TM1637 0-7
}
 
void loop(){
int i = h.startTemperature();
delay(i);// время измерения
h.getTemperature(t);// измерение температуры
t1=t;
 
i = h.startPressure(3);// точность 0-3
delay(i);// время измерения
h.getPressure(p,t);// измерение давления
p1=p/1.333224;// в мм.рт.ст
 
delay(1000);
s++;
 
if(s>=0&&s<5){data[0]=0x73;x=p1;
data[1] = display.encodeDigit((x/100)%10);}
if(s>5){data[0]=0x78;x=t1;data[1]=0;}
if(s>9){s=0;}
 
data[2] = display.encodeDigit((x/10)%10);
data[3] = display.encodeDigit((x%10)%10);
display.setSegments(data);
}

Библиотека — TM1637Display.zip

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

Войти с помощью: