Adatum
Сен
22
2014

Подключение цифрового барометра bmp180 к Arduino.

bmp180
Добрый день сегодня ко мне пришли вот такие малышки барометры из Китая, в синем исполнении. GY-68. Вскоре я добавлю их к своей системе «Умного дома», а пока схема подключения и используемая библиотека. Обратите внимание что модули питаются от 3,3 вольт. Так же хочется отметить что точность измерения температуры у данного модуля на порядок выше чем у DHT11 используемого в моем проекте «Умного дома», поэтому я с датчика DHT11 буду брать только влажность.

-Скачать библиотеку для работы с датчиком

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

Напряжение питания 1.62V — 3.6V.
Интерфейс подключения I2C.
Точность до 0.02hPa (17cm).
Диапазон: 300hPa to 1100hPa (+9000m to -500m).

bmp180

Схема подключения.

123

GND -> GND
VIN -> 3.3V
SDA -> A4
SCL -> A5

Текст скетча.

#include <Wire.h> 
#include <BMP085.h>

BMP085 dps = BMP085();    

long Temperature = 0, Pressure = 0;

void setup(void) { 
  Serial.begin(9600); 
  Wire.begin(); 
  delay(1000);
  dps.init();  
}          

void loop(void) { 
  dps.getPressure(&Pressure); 
  dps.getTemperature(&Temperature);

  Serial.print("Pressure(mm Hg):"); 
  Serial.print(Pressure/133.3);      //Выводим давление в мм.рт ст
  Serial.print("Temp:"); 
  Serial.println(Temperature*0.1);   // Температуру в градусах Цельсия
  delay(2000); 
}

Похожие статьи

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

  • А если у меня уже заняты пины А4 и А5? Куда мне подключать BMP180?

  • Не корректно выводит температуру: 220 *с. Ошибка в строке 22 (Serial.println(Temperature*0.1); // Температуру в градусах Цельсия.
    Изменить на:
    Serial.println(Temperature*0.01); // Температуру в градусах Цельсия
    Вывод: 22.0 *с.
    И еще давление не верно выводит 789 mm Hg, а реальное давление 720 mm Hg.
    Как откалибровать?

  • А как все это вывести на дисплей? от нокиа

  • Здравствуйте. После загрузки скетча появляется сообщение:
    Ошибка в Serial.serialEvent()
    java.io.IOException: Bad file descriptof in nativeavailable
    at gnu.io.RXTXPort.nativeavailable (Native Method)
    at gnu.io.RXTXPort$SerialInputStream.available
    (RXTXPort.java:1532)
    at processing.app.Serial.serialEvent(Serial.java:258)
    at gnu.io.RXTXPort.sendEvent(RXTXPort.java:732)
    at gnu.io.RXTXPort.eventLoop (Native Method)
    at gnu.io.RXTXPort$MonitorThread.run (RXTXPort.java:1575)

    В чем может быть причина?

  • а где заказывали малютку, можно ссылку?

    • Israel does not want to help the Palestinian refugees and does not want any one does either. inrinestetg! At least Hitler thought that some other countries could help the Jewish people if they wanted

  • А как он знает что датчик подключен на А4 и А5 ?

    • Прописанно в файле библиотеки BMP085.h

      • Спасибо! А если будет надо повесить несколько таких датчиков (например измерять разницу давлений в разных емкостях) — то как их лучше прописывать?

    • That’s 2 clever by half and 2×2 clever 4 me. Thaskn!

  • Приветствую.
    На ваше платке модуля GY-68 вроде-бы уже стоит стабилизатор, позволяющий питать его от 5V.

  • Доброго времени суток! Воспользовался вашим скетчем..
    Но данные приходят странноватые давление 1,76 и температура 0,0

    • Ваши данные не обрабатываются.
      Проверьте подключение или питание модуля датчика.

    • вы перепутали провод температурника и давления. поменяйте их местами

      • Нет там проводов температуры и давления, не вводите человека в заблуждение. То что перепутал местами SDA и SCL, возможно.