Bmp085 и lcd 20x4 подключение по i2c к UNO

imv14
Offline
Зарегистрирован: 02.04.2014

Всем добрый день. Пока без помощи форума никак, решил обратиться за помощью.

Уважаемые знатоки подскажите как подключить и запрограммировать Bmp085 и lcd 20x4(соединен с адаптером i2c) подключение по i2c к UNO. На данные момент по отдельности все работает, bmp085 подключен на А4,А5 к ардуине, как выяснилось, дисплей тоже надо подключать на этиже ноги, как быть?

 

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

i2c - это шина, т.е. на ней может быть несколько устройств.

Если у Bmp085 и lcd 20x4 адреса разные, то никаких проблем не будет.

imv14
Offline
Зарегистрирован: 02.04.2014

Получается, что и дисплей и барометр садить на те же ноги А4,А5. Когда подключаю дисплей использую адрес 0х27, а как узнать адрес датчика bmp085?

Geronimo
Offline
Зарегистрирован: 06.05.2013

Как я понял, в шине и2с адрес зашиваеься на заводе. Смотри в даташите

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013
imv14
Offline
Зарегистрирован: 02.04.2014

С датчико общаюсь примерно так, никакой адрес не забиваю.

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

BMP085 dps = BMP085(); 
long Temperature = 0, Pressure = 0, Altitude = 0;

void setup() {
  Serial.begin(9600); 
    Wire.begin(); 

    dps.init();      //BMP085
      } 

void loop() {

// BM085
  dps.getPressure(&Pressure); 
  dps.getAltitude(&Altitude); 
  dps.getTemperature(&Temperature);
//вывожу в порт
}

А с дисплеем указываю адрес,

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  
void setup()
{
  lcd.init();                      // initialize the lcd 

  lcd.backlight();
  lcd.print("Hello, world!");
}

void loop()
{
}

подскажите как сделать адрес на bmp085

 

Geronimo
Offline
Зарегистрирован: 06.05.2013

Возможо адрес забит в бмблиотеке и не подлежит конфигурированию

imv14
Offline
Зарегистрирован: 02.04.2014

Спасибо попробую все подцепить на 4,5 ногу и посмотреть, что получиться.

leshak
Offline
Зарегистрирован: 29.09.2011

На всяк случай. Если правильно помню, то bmp085 трехвольтовый зверек.

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

сам модуль да, трехвольтовый. Но если на платке есть преобразователь (черный трехногий "тараканчик") и клемма "+5", то жизнь облегчается :)

leshak
Offline
Зарегистрирован: 29.09.2011

>Но если на платке есть преобразователь

К сожаление - не на всякой. Есть "платы" и трехвольтовые. Поэтому на всякий случай - предупредил. Обратить на это внимание.

imv14
Offline
Зарегистрирован: 02.04.2014

Спасибо, у меня 3 вольта