Sensor – BMP180 – Temperatuur en Barometrische druk sensor

Hardware

bmp180_gy-68_bovenkant

BESTELLEN

BMP180 Barometrische druksensor GY-68. Het meten van de absolute druk van de omgeving met een digitale barometer als deze heeft een aantal interessante toepassingen. Door het omzetten van de gemeten druk in de hoogte, heb je een betrouwbare sensor voor het bepalen van de hoogte van uw robot, vliegtuig of projectiel!

De BMP180 komt volledig gekalibreerd en klaar voor gebruik. Het werkt via I2C er zijn optionele I2C pull ups die kunnen worden geactiveerd met behulp van de jumper op het bord. Met I2C worden druk en temperatuur in 16bit waarden gebruikt.

Pinout

bmp180_gy-68_onderkant

Pin:Functie:
01+5V
02GND
03SCL
Serial Clock (line)
04SCA
Serial Clock (data)

Arduino

Wat heb je nodig?

1) Adafruit Sensor Driver bibliotheek
2) Adafruit BMP085/180 bibliotheek

Sluit de module aan volgens onderstaand overzicht:

Arduino Pin:BMP180 Pin:
+5v01 (+5V)
GND02 (GND)
A503 (SCL / Serial Clock line)
A404 (SCA /Serial Clock data)

bmp180 arduino schema


Script met adafruit BMP180 bibliotheek

Het resultaat

arduino bmp180 console output

Arduino Library

Installatie van Arduino IDE libraries: Arduino info

Wat heb je nodig?
1) Adafruit Sensor library


Sparkfun BMP180 Breakout Arduino Library

This archive contains an Arduino library and example sketch showing how to use this sensor. The library must be installed onto your computer in order for the example code to work correctly.


Download bibliotheek @ Sparkfun * Github

ESP8266

Espressif logo

arduino logo

 

Wat heb je nodig?

1) Firmware flashen met ArduinoIDE
2) BMP085/810 arduino bibliotheek (gebruik de Sparkfun bibliotheek)

Standaard worden de SDA en SCL connecties gebruikt op de arduino bij deze module bibliotheek:

Deze regels staan hard ingesteld in het bestand [ArduinoIDE]\[portable]\packages\esp8266\hardware\esp8266\2.0.0\libraries\Wire\Wire.cpp

Maar de op de ESP-01 is het GPIO 0 en GPIO 2, na deze regel “include <wire>“, kun je deze waarden opnieuw een waarde geven, voor de ESP-01 is dat:

Een voorbeeld code voor een BMP180 module via I2C:

Code flashen:
Voordat je de module kan aansluiten, verbind GPIO 0 op GND en flash de code in de ESP8266 module.

Module aansluiten:
Eenmaal de code geflashed, Sluit de module aan volgens onderstaand schema:

esp8266 ESP-01 GPIO BMP180 schema

Het resultaat via de seriële monitor:


Espressif logo

nodeMCU logo

Wat heb je nodig?

1) ESPlorer IDE

Sluit de BMP module aan op volgens onderstaand schema:

esp8266 ESP-01 GPIO BMP180 schema


BMP script

Upload deze “library” code als bmp085.lua

Tip: Download de code sla het op als bestand, en gebruik de “Upload…” knop in ESPlorer.

Gebruik de volgende regel om de temperatuur en luchtdruk weer te geven:

print(dofile("bmp180.lua").read(3, 4))

waarbij 3, 4 de SDA/SCL verbindig is, geen gegeven of hele afwijkende waarden?, draad de SCL/SDA verbindingen om.

resultaat:

Getest met NodeMCU 0.9.6 build 20150704 floating point en bmp180

bron:
dvv @ github.com


BMP script met webserver

Let op: firmare NodeMCU 0.9.6 build 20150704 floating point nodig!, download hier

Upload deze “library” code als bmp180.lua

Tip: Download de code sla het op als bestand, en gebruik de “Upload…” knop in ESPlorer.

Upload deze server code als srvbmp180.lua

Tip: Download de code sla het op als bestand, en gebruik de “Upload…” knop in ESPlorer.

Instructies (ENG)
— Tested with Lua NodeMCU 0.9.6 build 20150704 floating point only!
— 1. Flash Lua NodeMCU 0.9.6 build 20150704 floating point to esp8266 module.
— 2. Login esp8266 module to your AP – wifi.setmode(wifi.STATION),wifi.sta.config(“yourSSID”,”yourPASSWORD”)
— 3. You can rename the program “srvbmp180.lua” to “init.lua” and correct altitude
— 4. Load program “bmp180.lua” and “srvbmp180.lua” to ESP8266 with a LuaLoader
— 5. HW reset module
— 6. Read ip address of module esp8266 from console “= wifi.sta.getip()”
— 7. Run program “srvbmp180.lua” – dofile(“srvbmp180.lua”)
— 8. Test it with your browser and true IP address of module.
— 9. The sensor is repeatedly reading every 10s
–11. Data on http page are auto refreshed every 10s too.
–12. The pictures on page are external.

Ps. Geen gegevens?, draai de SCL en SDA kabeltjes om, of verander pin 3,4 in pin 4,3 in de code.

Na het draaien van de server code krijg je deze data via de seriele interface:

esp8266 NodeMCU bmp180 esplorer screen

Dit is de webinterface (ververst zichzelf):

esp8266 NodeMCU bmp180 webinterface

Bron:
esp8266.com

Raspberry Pi

Sluit de module aan zoals aangegeven op onderstaand schema:

Raspberry Pi pin:I2C module pin:
+5v+5v
GNDGND
3 (GPIO2) SDASDA
5 (GPIO3) SCLSCL

Wat moet je doen?

1) I2C aanzetten op de Pi.
2) SMBUS module installeren voor Python:

Om de I2C bus in Python te gebruiken moet je een module installeren, genaamd SMBUS, commando:

sudo apt-get install python-smbus

Je kan dan de module importeren in python door middel van: import smbus

Controleren van de aansluiting

Om de aansluiting van de module te controleren voor je het volgende commando uit: sudo i2cdetect -y 1, je ziet dan adres 0x77 staan in de lijst:


Script

Het script bmp.py om de module uit te lezen:

Start het script met: sudo python bmp.py, resultaat:

Bron(nen):
raspberrytips.nl
learn.adafruit.com

Schema

Teardown

Binnenkant:

Datasheet

Fritzing

Downloads

GEEN GEGEVENS

Top