Introduction: Arduino Nano: Barometric Pressure and Temperature BMP180 Sensor With Visuino

BMP180 are very popular combined Temperature and Barometric Pressure Arduino sensors. They can be used for weather stations, as well as to measure altitude.

In this Instructable, I will show you, how easy it is to program Arduino to use them, with Visuino - an easy to use graphical development environment for Arduino.

Since I made the Instructable, I discovered that the 3.3V does not need to be connected, as the module has its own internal 3.3V regulator. I have updated the Instructable. The video still shows the 3.3V connected, but this is not needed!

Step 1: Components

Picture of Components
  1. One Arduino compatible board (I use Arduino Nano, because I have one, but any other will be just fine)
  2. One BMP180 Sensor Module
  3. 4 Female-Female jumper wires

Step 2: Connect the BMP180 Pressure Sensor to Arduino

Picture of Connect the BMP180 Pressure Sensor to Arduino
  1. Connect 5V VCC Power(Red wire), Ground(Black wire),SDA(Green wire), and SCL(Yellow wire), to the BMP180Module (Picture 1)
  2. Connect the other end of the Ground wire(Black wire) to Ground pin of the Arduino board (Picture 2)
  3. Connect the other end of the 5V VCC Power wire(Red wire) to the 5V power pin of the Arduino board (Picture 2)
  4. Connect the other end of the SDA wire(Green wire) to SDA/Analog pin 4 of the Arduino Nano board (Picture 2)
  5. Connect the other end of the SCL wire(Yellow wire) to SCL/Analog pin 5 of the Arduino Nano board (Picture 2)
  6. Picture 3 shows where are the Ground, 5V Power, SDA/Analog pin 4, and SCL/Analog pin 5, pins of the Arduino Nano

Step 3: Start Visuino, and Select the Arduino Board Type

Picture of Start Visuino, and Select the Arduino Board Type

To start programming the Arduino, you will need to have the Arduino IDE installed from here: http://www.arduino.cc/.

Please be aware that there are some critical bugs in Arduino IDE 1.6.6.

Make sure that you install 1.6.7 or higher, otherwise this Instructable will not work!

The Visuino: https://www.visuino.com also needs to be installed.

  1. Start Visuino as shown in the first picture
  2. Click on the "Tools" button on the Arduino component (Picture 1) in Visuino
  3. When the dialog appears, select Arduino Nano as shown in Picture 2

Step 4: In Visuino: Add and Connect BMP180 Component

Picture of In Visuino: Add and Connect BMP180 Component
  1. Type "bmp" in the Filter box of the Component Toolbox then select the "Pressure BMP180" component (Picture 1), and drop it in the design area
  2. Connect the "Out" pin of the Pressure1 component (Picture 2) to the to the "In" pin of the I2C channel of the Arduino component (Picture 3)

Step 5: In Visuino: Add Formatted Text Component, and Add 2 Analog Text Elements to It

Picture of In Visuino: Add Formatted Text Component, and Add 2 Analog Text Elements to It
  1. Type "form" in the Filter box of the Component Toolbox then select the "Formatted Text" component (Picture 1), and drop it in the design area
  2. Click on the "Tools" button of the FormattedText1 component (Picture 2)
  3. In the Elements editor, select "Analog Element" in the right view(Picture 3)
  4. Click 2 times on the "+" button (Picture 3) to add 2 Analog Elements (Picture 4), then close the Elements editor

Step 6: In Visuino: Specify Formatted Text, and Connect the Formatted Text Component

Picture of In Visuino: Specify Formatted Text, and Connect the Formatted Text Component
  1. In the Object Inspector set the value of the "Text" property to "Temperature %1 Pressure %0" (Picture 1) - The %0 will be replaced with the value from AnalogElement1, and %1 will be replaced with the value from AnalogElement2
  2. Connect the "Pressure" output pin of the Pressure1 component to the "In" pin of the AnalogElement1 of the FormattedText1 component (Picture 2)
  3. Connect the "Temperature" output pin of the Pressure1 component to the "In" pin of the AnalogElement2 of the FormattedText1 component (Picture 3)
  4. Connect the "Out" output pin of the FormattedText1 component to the "In" input pin of the Serial[ 0 ] channel of the Arduino component (Picture 4)

Step 7: Generate, Compile, and Upload the Arduino Code

Picture of Generate, Compile, and Upload the Arduino Code
  1. In Visuino, Press F9 or click on the button shown on Picture 1 to generate the Arduino code, and open the Arduino IDE
  2. In the Arduino IDE, click on the Upload button, to compile and upload the code (Picture 2)

Step 8: And Play...

Picture of And Play...

You can see the connected and running Pressure and Temperature sensor on Picture 1.

If you open Serial Terminal in the Arduino IDE or Visuino, you will see the Temperature and Pressure measured by the sensor (Picture 2)

On Picture 3 you can see the complete Visuino diagram.

Congratulations! You have created a temperature and pressure measuring Arduino project with BMP180 in Visuino.

Also attached is the Visuino project, that I created for this Instructable. You can download and open it in Visuino: https://www.visuino.com

Comments

jgrantspecial (author)2017-04-18

Can this be done where you can automatically collect the data every hour with the time and date for use in a spreadsheet?

IvanC52 (author)2016-05-09

I made this, it dont work. all made bey yours instr.

BoianM (author)IvanC522016-05-09

What is happening? You can contact me on the orange board and I can try to help you investigate the problem.

lhagva.lhagvas (author)2016-02-17

hi arduino nano bmp180 and lcd1602 connect code

BoianM (author)lhagva.lhagvas2016-02-17

I will see to post such Instructable, but you can easily modify this one:

https://www.instructables.com/id/Remote-Wi-Fi-DHT11...

It takes just few seconds to make the change. Replace the DHT11 with the BMP180 from this Instructable, and you are done ;-)

UU2 (author)2016-02-10

looks like the noise is greater than the tech specs of +/- 0.03 hPa. Is it very sensitive to josteling? how about wind?

thanks for the post

BoianM (author)UU22016-02-10

I have not tested too much, but it seems sensitive to wind actually. You probably need to put it in some enclosure. My holding of it and being relatively near it and breathing may have also affected it some ;-)

Wrrr 10-G (author)2016-02-01

Hi Boian, are you sure the sensor board needs both 3.3V and 5V?

BoianM (author)Wrrr 10-G2016-02-01

Just updated it as per your suggestion. Thank you for pointing it out!

Wrrr 10-G (author)BoianM2016-02-01

Hi Boian, thanks for the edit.
I think you chose the right option, because when the wiring gets longer, there will be a voltage drop, and then the regulator will still have some room to take the <5V further down to 3.3V (I think the 'circuit' and logical levels are even tolerant down to 3V).

BoianM (author)Wrrr 10-G2016-02-02

Yes, they are tolerant, and this is I2C witch means it is with common PullUp resistors for the Data and Clock signals, and should work well with both 3.3, and 5V as far as I know. The I2C is supposed to be tolerant for both.

BoianM (author)Wrrr 10-G2016-02-01

Thank you for pointing this out. I looked at the module schematic, and I don't think that both are needed! I will test and update the Instructable!

syseng (author)2016-01-18

Nice work Thank you ,keep them coming

BoianM (author)syseng2016-01-18

Thank you! Enjoy :-)