Similar to the last post on the DS18b20 shield this was another shield that did not appear on the Wemos site, this time it was for the BMP180 sensor
Here is a picture of the shield
BMP180 Digital Barometric Pressure Sensor Board Digital Barometric Pressure Sensor Module For D1 MINI
As stated the shield is not a Wemos designed one but is sturdy construction, good quality and comes with a selection of headers that you can solder yourself to it, its an I2C sensor so the shield uses D1 and D2. here is a typical schematic for a bmp180, this shield is similar but without th 3v3 regulator at the top
Code
We had a previous code example for this module, this was tested and worked with the shield perfectly. As you can see the Adafruit library is required
[codesyntax lang=”cpp”]
#include <Wire.h> #include <Adafruit_BMP085.h> Adafruit_BMP085 bmp; void setup() { Serial.begin(9600); //Wire.begin (4, 5); if (!bmp.begin()) { Serial.println("Could not find BMP180 or BMP085 sensor at 0x77"); while (1) {} } } void loop() { Serial.print("Temperature = "); Serial.print(bmp.readTemperature()); Serial.println(" Celsius"); Serial.print("Pressure = "); Serial.print(bmp.readPressure()); Serial.println(" Pascal"); Serial.println(); delay(5000); }
[/codesyntax]
Testing
Open the serial monitor and you should see something like this
Temperature = 27.30 Celsius
Pressure = 99938 Pascal
Temperature = 27.30 Celsius
Pressure = 99934 Pascal
Temperature = 32.20 Celsius
Pressure = 99965 Pascal
Temperature = 32.90 Celsius
Pressure = 99968 Pascal
Temperature = 31.90 Celsius
Pressure = 99934 Pascal
Links
This came in at $2.45 a piece, so a low cost addition to the collection of shields I have for the Wemos Mini
Hi,
What are the i2c pins of this module ?
Is there a schematic ?
How do I wire it to an Uno
Regards,
Thanks a lot,
Alain Falcoz (France)
Its a shield that fits to a wemos mini the I2C pins are
D1 – SCL
D2 – SDA
It appears to use 3v3 and GND for power
If you google – bmp180 module schematic – there are a couple of examples for the BMP180, this shield appears to be a copy minus the 5v to 3v3 regulator
I have the BMP180 shield and the temperature readings are 5 degrees Celsius higher when the shield is stacked on top of the WeMos D1 mini board. When I connect the shield with Dupont wires, temperature readings are normal. Here are the readings of three different setups:
BMP shield on top of WeMos D1 mini
Temperature = 29.80 degrees Celsius
Pressure = 101844 Pascal
BMP180 Shield in Dual base shield slot 2, WeMos D1 mini in slot 1
Temperature = 26.30 degrees Celsius
Pressure = 101847 Pascal
BMP180 shield connected with 15cm Dupont wires
Temperature = 24.40 degrees Celsius
Pressure = 101842 Pascal
ESP8266 is generating heat, and heat is conducted through ground pin to the BMP180 shield and also radiated to the shield. The pressure readings are not affected, but the temperature readings are. If you need both pressure and temperature, small BMP180 breakout board connected with wires would be better. For pressure readings alone the shield is good enough.
how to upload these values to weather underground(i got wunderground account and located personal weather station key)? is there a ready to use sketch for that? ( with minimum modifications) what is found is mixed bag all the times.
I have a problem. After the installation of this example, WeMos is constantly resetting and the console will display such an error:
? ⸮! ?? ⸮⸮⸮⸮ʵ⸮⸮Temperature =
Exception (0):
epc1 = 0x4000dce5 epc2 = 0x00000000 epc3 = 0x00000000 excvaddr = 0x00000000 depc = 0x00000000
ctx: cont
sp: 3ffef870 end: 3ffefa60 offset: 01a0
>>> >>> stack
3ffefa10: 3ffee7a8 00000000 3ffee7a8 40202a7c
3ffefa20: 00002580 00000000 3ffee7a8 40202aa9
3ffefa30: feefeffe 00000000 3ffeea14 4020252a
3ffefa40: 3fffdad0 00000000 3ffeea30 4020333c
3ffefa50: feefeffe feefeffe 3ffeea40 40100108
Stack <<< <<<
I tried three different WeMos and NodeMCUs, everybody hangs and resets. 🙁
Never seen this before but you could try – https://github.com/esp8266/Arduino/issues/3138#issuecomment-350975730
Hi, did you manage to find a solution because the exact same problem happened to me. I had a working WeMod D1, but once I uploaded and connected the BMP180 sketch this exception occurs. I have read that the WeMod is bricked. Is this true?
Hi,
Trying to play with a BMP180 shield, but gets nothing out of it. I soldered a complete set of pins and stacked it ontop of the Wemos D1 Mini Pro. Also tried it on a bread board. The code I ran is from above. All I get is that the program “Could not find BMP180 or BMP085 sensor at 0x77”. There is no selection of address on this shield. Is it D1 and D2 that is used on both the shield and the Wemos? Is there any other ways for me to try this shield out and find the problem?
/Joakim
If you upload the example at http://www.esp8266learning.com/i2c-scanner.php , do you see an I2C address displayed in the Serial monitor window
You have to use the LOLIN HP303B library if you got errors with the adafruit library.
https://github.com/wemos/LOLIN_HP303B_Library