user6841: I have connected BMP180 sensor:

to Arduino and was able to read its values with appropriate samples (from Adafruit BMP085 Library and Adafruit BMP085 Unified).
Apparently, this sensor is sending information via I2C bus.
However, I2C protocol assumes addresses of connected devices.
What are addresses in my case? How to know and/or change them?
Is it possible to connect several BMP180 to a single Arduino?

user11754: Line 30 in Adafruit_BMP085.h clearly give you the address of sensor. Looks like the address is fixed meaning the only way you can connect several of these sensors is using a i2c multiplexer

user10794: From the datasheet:

4.2 Device and register address 
The BMP085 module address is shown below. The LSB of the device address distinguishes between read (1) and write (0) operation, corresponding to address 0xEF (read) and 0xEE (write). 

With the Wire library you divide that by 2 (because it handles the read/write bit) so the address for using with Wire is:
0xEE / 2 = 0x77

Which is mentioned in the Adafruit library:
#define BMP085_I2CADDR 0x77


Is it possible to connect several BMP180 to a single Arduio?

You can certainly connect two of them. From the datasheet:

There is an easy way to connect two BMP085 to the same I2C bus: You can use the XCLR input of BMP085 to set one BMP085 part silent while you communicate with the other BMP085 part via I2C and vice versa. The signals can be provided by two digital outputs of the microcontroller, or one digital output and one inverter. 

If you have access to the XCLR input (the Adafruit board broke it out, I can't tell with the board in your photo) you could use that method. Otherwise do what some of the other answers suggested, and use an I2C multiplexer.

6841: <p>I have connected BMP180 sensor:</p>

<p><a href="https://i.stack.imgur.com/lWCYy.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/lWCYy.png" alt="enter image description here"></a></p>

<p>to Arduino and was able to read its values with appropriate samples (from <a href="https://github.com/adafruit/Adafruit-BMP085-Library" rel="nofollow noreferrer"><code>Adafruit BMP085 Library</code></a> and <a href="https://github.com/adafruit/Adafruit_BMP085_Unified" rel="nofollow noreferrer"><code>Adafruit BMP085 Unified</code></a>).</p>

<p>Apparently, this sensor is sending information via <a href="https://en.wikipedia.org/wiki/I%C2%B2C" rel="nofollow noreferrer">I2C bus</a>.</p>

<p>However, I2C protocol assumes addresses of connected devices.</p>

<p>What are addresses in my case? How to know and/or change them?</p>

<p>Is it possible to connect several BMP180 to a single Arduino?</p>
 11754: <p>Line 30 in <a href="https://github.com/adafruit/Adafruit-BMP085-Library/blob/master/Adafruit_BMP085.h" rel="nofollow">Adafruit_BMP085.h</a> clearly give you the address of sensor. Looks like the address is fixed meaning the only way you can connect several of these sensors is using a i2c multiplexer</p>
 10794:  

<p>From the datasheet:</p>

<blockquote>
  <p><strong>4.2 Device and register address</strong> </p>
  
  <p>The BMP085 module address is shown below. The LSB of the device address distinguishes between read (1) and write (0) operation, corresponding to address 0xEF (read) and 0xEE (write). </p>
</blockquote>

<p>With the Wire library you divide that by 2 (because it handles the read/write bit) so the address for using with Wire is:</p>

<pre class="lang-C++ prettyprint-override"><code>0xEE / 2 = 0x77
</code></pre>

<p>Which is mentioned in the Adafruit library:</p>

<pre class="lang-C++ prettyprint-override"><code>#define BMP085_I2CADDR 0x77
</code></pre>

<blockquote>
  <p>Is it possible to connect several BMP180 to a single Arduio?</p>
</blockquote>

<p>You can certainly connect <strong>two</strong> of them. From the datasheet:</p>

<blockquote>
  <p>There is an easy way to connect two BMP085 to the same I2C bus: You can use the XCLR input of BMP085 to set one BMP085 part silent while you communicate with the other BMP085 part via I2C and vice versa. The signals can be provided by two digital outputs of the microcontroller, or one digital output and one inverter. </p>
</blockquote>

<p>If you have access to the XCLR input (the Adafruit board broke it out, I can't tell with the board in your photo) you could use that method. Otherwise do what some of the other answers suggested, and use an I2C multiplexer.</p>
