Nota
Ciao, benvenuto nella comunità di appassionati di SunFounder Raspberry Pi, Arduino e ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti a noi?
Supporto esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra comunità e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime esclusive: Accedi in anteprima agli annunci di nuovi prodotti e agli sneak peek.
Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni festive e omaggi: Partecipa a giveaway e promozioni festive.
👉 Pronto per esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!
BMP180
Panoramica
In questo tutorial, approfondiremo il modulo IMU GY-87, concentrandoci sul sensore BMP180 per la misurazione di temperatura, pressione e altitudine. Ideale per applicazioni come il monitoraggio del clima e il tracciamento dell’altitudine, questa lezione copre l’interfacciamento del GY-87 con un Arduino Uno e l’uso della libreria Adafruit BMP085. Imparerai come inizializzare il sensore BMP180 e leggere i suoi dati sul Monitor Seriale di Arduino, una competenza cruciale per progetti che richiedono dati ambientali.
Componenti necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Elite Explorer Kit |
300+ |
Puoi anche acquistarli separatamente dai link qui sotto.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
- |
|
- |
Collegamenti
Schema Elettrico
Codice
Nota
Puoi aprire il file
09-gy87_bmp180.inodal percorsoelite-explorer-kit-main\basic_project\09-gy87_bmp180direttamente.Oppure copia questo codice nell’IDE di Arduino.
Nota
Per installare la libreria, usa il Library Manager di Arduino e cerca «Adafruit BMP085 Library» e installala.
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}
Analisi del Codice
initializeBMP180()Inizializza il sensore BMP180.
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()Stampa i valori letti dal sensore BMP180.
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(); }