Inhoudsopgave:

Interface BMP180 (luchtdruksensor) met Arduino - Ajarnpa
Interface BMP180 (luchtdruksensor) met Arduino - Ajarnpa

Video: Interface BMP180 (luchtdruksensor) met Arduino - Ajarnpa

Video: Interface BMP180 (luchtdruksensor) met Arduino - Ajarnpa
Video: Arduino meteo station met LCD display 2024, Juli-
Anonim
Interface BMP180 (luchtdruksensor) met Arduino
Interface BMP180 (luchtdruksensor) met Arduino

De BMP-180 is een digitale luchtdruksensor met een i2c-interface. Deze kleine sensor van Bosch is best handig vanwege het kleine formaat, het lage stroomverbruik en de hoge nauwkeurigheid.

Afhankelijk van hoe we de sensormetingen interpreteren, kunnen we veranderingen in het weer volgen, relatieve hoogte meten of zelfs de verticale snelheid (stijging/daling) van een object vinden.

Dus voor deze instructable zal ik me concentreren op het gewoon laten werken van de sensor met Arduino.

Stap 1: Een beetje geschiedenis over barometers: de druk staat erop

Een stukje geschiedenis over barometers: de druk staat erop!
Een stukje geschiedenis over barometers: de druk staat erop!

Barometers meten de absolute druk van de lucht eromheen. De druk varieert afhankelijk van het weer en de hoogte. Het gebruik van de barometer om stormen te voorspellen bestaat al sinds de 17e eeuw. Destijds waren barometers lange glazen staafjes gevuld met vloeibaar kwik. En zo kwam de eenheid van 'kwikdruk'.

In slechts een paar decennia werd het instrument een echt handig item. Iedereen had ze, van professionele wetenschappers en zeevarenden tot amateurs. Ze merkten dat een plotselinge verandering van de luchtdruk zou leiden tot 'slecht weer'. Deze voorspellingen waren lang niet nauwkeurig, tot het midden van de 18e eeuw, toen geleidelijk een gedetailleerde prognosetabel werd ontwikkeld. Als je geïnteresseerd bent in de geschiedenis van barometers en hoe je weersvoorspellingen kunt doen op basis van de waarden, neem dan gerust een kijkje op deze link.

Afgezien van meteorologische waarnemingen, is een ander nieuw gebruik van de luchtdruksensor het berekenen van de relatieve hoogte van een plaats. Dit is waar dingen interessant worden. Herinner je je de formule (P = h * rho * g) uit de natuurkundeles? Blijkt dat we de relatieve hoogte van een plaats kunnen berekenen met behulp van de BMP-180. Netjes, hè?

Stap 2: Verzamel de apparatuur

Verzamel de apparatuur!
Verzamel de apparatuur!
Verzamel de apparatuur!
Verzamel de apparatuur!
Verzamel de apparatuur!
Verzamel de apparatuur!

Tijd om terug te gaan naar de 21e eeuw. Nu we een 'zeer' belangrijke geschiedenisles over barometers hebben gehad, gaan we terug naar de lijst met items die we nodig hebben voor dit ondoorgrondelijke.

1. Breadboard en jumpers

2. BMP-180

3. Elk Arduino-bord. (Ik gebruik een Arduino Pro Micro, maar elk Arduino-bord is voldoende)

4. Een USB-kabel en een computer die de Arduino IDE kan draaien

Stap 3: Bedrading

Bedrading!
Bedrading!
Bedrading!
Bedrading!
Bedrading!
Bedrading!

Omdat de BMP-180 op een i2c-interface draait, is het een fluitje van een cent om hem aan te sluiten. Zoek, afhankelijk van welk Arduino-bord je gebruikt, de twee i2c-pinnen. Bord --------------------------------- I2C / TWI-pinnen

Uno, Ethernet, Pro mini --------------- A4 (SDA), A5 (SCL) Mega2560 ------------------- --------20 (SDA), 21 (SCL)

Leonardo, Pro Micro ------------------2 (SDA), 3 (SCL)

Verschuldigd ----------------------------------20 (SDA), 21 (SCL), SDA1, SCL1

Controleer voor de VCC-pin of uw sensor 5v-tolerant is of niet. Als dat niet het geval is, zet hem dan gewoon op 3.3v. Het breakout-bord dat ik gebruik heeft een ingebouwde 3.3v-regelaar, waardoor het 5v-tolerant is.

Dus mijn circuitverbindingen zijn ongeveer als volgt: Arduino -> BMP-180D2 (SDA) -> SDAD3(SCL) -> SCL5v -> VCCGND -> GND

Dingen die fout kunnen gaan in deze stap: 1. Controleer de VCC- en GND-lijnen voordat u deze opstart. U kunt de sensor beschadigen.2. SDA SDA en SCL SCL, haal ze niet door elkaar.

Stap 4: De juiste bibliotheek kiezen

Nu een bibliotheek kiezen om ons leven gemakkelijker te maken met de BMP-180. Ondanks dat het zo'n handige sensor is, komt er veel ingewikkelde wiskunde bij kijken om het goed te gebruiken. Berekeningen zoals de conversie van drukeenheden naar het corrigeren van druk op zeeniveau… Het maakt het zeker moeilijker voor iemand die in het begin veel natuurkundelessen heeft overgeslagen….:(De oplossing? Bibliotheken! Tot nu toe heb ik 3 verschillende bibliotheken gebruikt voor de BMP180. 1. De sparkfun BMP180-bibliotheek

2. De Adafruit BME085 API (v1) (ik gebruik deze voor deze instructable)

3. De Adafruit BME085 API (v2)

De reden waarom ik alle drie de bibliotheken koppel, is omdat elk van hen zijn voor- en nadelen heeft. Als je gewoon de klus wilt klaren, zijn de Adafruit-bibliotheken geweldig. Ze zijn gemakkelijk te gebruiken en worden geleverd met zeer mooie documentatie. Aan de andere kant biedt de sparkfun-bibliotheek veel extra informatie, omdat je veel van de berekeningen handmatig moet doen. Als je daarin geïnteresseerd bent, bekijk dan deze geweldige tutorial van sparkfun.

Aanbevolen: