Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [ hier ] und treten Sie heute bei!
BMP180
Überblick
In diesem Tutorial beschäftigen wir uns mit dem GY-87 IMU-Modul und konzentrieren uns auf den BMP180-Sensor zur Messung von Temperatur, Druck und Höhe. Ideal für Anwendungen wie Wetterüberwachung und Höhenverfolgung behandelt diese Lektion die Verbindung des GY-87 mit einem Arduino Uno und die Verwendung der Adafruit BMP085-Bibliothek. Sie lernen, wie Sie den BMP180-Sensor initialisieren und dessen Daten auf dem Arduino-Seriellen Monitor auslesen können, eine entscheidende Fähigkeit für Projekte, die Umweltdaten benötigen.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein komplettes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Elite Explorer Kit |
300+ |
Sie können die Komponenten auch separat über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
- |
|
- |
Verdrahtung
Schaltplan
Code
Bemerkung
Sie können die Datei
09-gy87_bmp180.inodirekt unter dem Pfadelite-explorer-kit-main\basic_project\09-gy87_bmp180öffnen.Oder kopieren Sie diesen Code in die Arduino IDE.
Bemerkung
Um die Bibliothek zu installieren, verwenden Sie den Arduino Library Manager und suchen Sie nach „Adafruit BMP085 Library“ und installieren Sie diese.
1/*
2 This Arduino code interfaces with the GY-87 IMU (Inertial Measurement Unit) module,
3 specifically using the BMP180 sensor for measuring temperature, pressure, and
4 calculating altitude. It initializes the BMP180 sensor and continuously outputs its
5 readings to the Serial Monitor.
6
7 Board: Arduino Uno R4
8 Component: GY-87 IMU Module
9 Library: https://github.com/adafruit/Adafruit-BMP085-Library (Adafruit BMP085 Library by Adafruit)
10*/
11
12// Include required libraries
13#include <Adafruit_BMP085.h>
14
15// Initialize sensor objects
16Adafruit_BMP085 bmp;
17
18void setup() {
19 // Initialize the serial communication with a baud rate of 9600
20 Serial.begin(9600);
21
22 // Initialize BMP180 barometric sensor
23 initializeBMP180();
24}
25
26void loop() {
27 // Print BMP180 data
28 printBMP180();
29
30 delay(500);
31}
32
33void initializeBMP180() {
34 // Start BMP180 initialization
35 if (!bmp.begin()) {
36 Serial.println("Could not find a valid BMP180 sensor, check wiring!");
37 while (1)
38 ; // Halt if sensor not found
39 }
40 Serial.println("BMP180 Found!");
41}
42
43void printBMP180() {
44 Serial.println();
45 Serial.println("BMP180 ------------");
46 Serial.print("Temperature = ");
47 Serial.print(bmp.readTemperature());
48 Serial.println(" *C");
49
50 Serial.print("Pressure = ");
51 Serial.print(bmp.readPressure());
52 Serial.println(" Pa");
53
54 // Calculate altitude assuming 'standard' barometric
55 // pressure of 1013.25 millibar = 101325 Pascal
56 Serial.print("Altitude = ");
57 Serial.print(bmp.readAltitude());
58 Serial.println(" meters");
59
60 Serial.print("Pressure at sealevel (calculated) = ");
61 Serial.print(bmp.readSealevelPressure());
62 Serial.println(" Pa");
63 Serial.println("BMP180 ------------");
64 Serial.println();
65}
Code-Analyse
initializeBMP180()Initialisieren des BMP180-Sensors.
void initializeBMP180() { // Start BMP180 initialization if (!bmp.begin()) { Serial.println("Could not find a valid BMP180 sensor, check wiring!"); while (1) ; // Halt if sensor not found } Serial.println("BMP180 Found!"); }
printBMP180()Die vom BMP180-Sensor gelesenen Werte ausdrucken.
void printBMP180() { Serial.println(); Serial.println("BMP180 ------------"); Serial.print("Temperature = "); Serial.print(bmp.readTemperature()); Serial.println(" *C"); Serial.print("Pressure = "); Serial.print(bmp.readPressure()); Serial.println(" Pa"); // Calculate altitude assuming 'standard' barometric // pressure of 1013.25 millibar = 101325 Pascal Serial.print("Altitude = "); Serial.print(bmp.readAltitude()); Serial.println(" meters"); Serial.print("Pressure at sealevel (calculated) = "); Serial.print(bmp.readSealevelPressure()); Serial.println(" Pa"); Serial.println("BMP180 ------------"); Serial.println(); }