Anexamos el diagrama de conexión entre el BMP280 y el Arduino.
Les recuerdo que cada Arduino trae ya definido, es decir que está fijo cuales son los puertos I2C, estos no se pueden cambiar ni asignar por código por lo tanto según el Arduino que utilicen van a tener los dos puestos I2C en unas patillas u otras.
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp;
float TEMPERATURA;
float PRESION;
void setup() {
Serial.begin(9600);
unsigned status;
status = bmp.begin(BMP280_ADDRESS_ALT, BMP280_CHIPID); // Indicamos que tarabajamos con el BMP280
/* Default settings from datasheet. */
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
Adafruit_BMP280::FILTER_X16, /* Filtering. */
Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
}
void loop() {
TEMPERATURA = bmp.readTemperature();
PRESION = bmp.readPressure()/100; // Dividimos en 100 para pasar a hectopascales
//Preparamos los valores para ser mostrados en pantalla en forma de texto
String mensaje1 = (String)"Temperatura: " + TEMPERATURA + " C";
String mensaje2 = (String)"Presion: " + PRESION + " hPa";
String mensaje3 = (String)"Altitud: " + bmp.readAltitude(1016.05) + " m";
//Mostramos en pantalla los valores
Serial.println(mensaje1);
Serial.println(mensaje2);
Serial.println(mensaje3);
Serial.println("--------");
delay(5000);
}
Si llegaste y no viste el video te lo dejo.........