estoy usando el sensor BMP280, y no consigo que me muestre los decimales, me redondea por ejemplo Humedad 45%, presion 1012 hpa pero si me muestra los de la temperatura.
/*
* bme280_example.ino
* Example sketch for bme280
*
* Copyright (c) 2016 seeed technology inc.
* Website : www.seeedstudio.com
* Author : Lambor
* Create Time:
* Change Log :
*
* The MIT License (MIT)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "Seeed_BME280.h"
#include <Wire.h>
BME280 bme280;
void setup()
{
Serial.begin(9600);
if(!bme280.init()){
Serial.println("Device error!");
}
}
void loop()
{
float pressure;
//get and print temperatures
Serial.print("Temp: ");
Serial.print(bme280.getTemperature());
Serial.println("C");//The unit for Celsius because original arduino don't support speical symbols
//get and print atmospheric pressure data
Serial.print("Pressure: ");
pressure = bme280.getPressure();
Serial.print(bme280.getPressure());
Serial.println("Pa");
//get and print altitude data
Serial.print("Altitude: ");
Serial.print(bme280.calcAltitude(pressure));
Serial.println("m");
//get and print humidity data
Serial.print("Humidity: ");
Serial.print(bme280.getHumidity());
Serial.println("%");
delay(1000);
}
consegui que me muestre los decimales de la presion y humedad pera la de la humedad 45.00% cuando yo veo usando otro skech sin libreria que es 45.65% por que 00
#include "Seeed_BME280.h"
#include <Wire.h>
BME280 bme280;
double presion;
double humedad;
void setup()
{
Serial.begin(9600);
if(!bme280.init()){
Serial.println("Device error!");
}
}
void loop()
{
float pressure;
//get and print temperatures
Serial.print("Temp: ");
Serial.print (bme280.getTemperature());
Serial.println("C");//The unit for Celsius because original arduino don't support speical symbols
//get and print atmospheric pressure data
Serial.print("Pressure: ");
presion =bme280.getPressure();
Serial.print(presion/100);
Serial.println("Pa");
//get and print altitude data
Serial.print("Altitude: ");
Serial.print(bme280.calcAltitude(presion));
Serial.println("m");
//get and print humidity data
Serial.print("Humidity: ");
humedad=bme280.getHumidity();
Serial.print(humedad);
Serial.println("%");
delay(1000);
Bueno después de cambiar librería ya que era la inicial para comenzar el proyecto de estación meteorológica, y de probar y buscar el error ya tengo el código que recolecta datos, ahora falta el de la pantalla nextion, y para mi por ahora lo mas complicado el esp8266
, pero funciona o funciona 
el código recolector quedo así. Lo subo por si a alguien le sirve.
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
Adafruit_BME280 bme; // I2C
float temperature;
float humidity;
float pressure;
float altitud;
float raiz1;
float raiz2;
float Pun_rocio;
unsigned long inicia=0;
int tiempo =5000;
void setup(void) {
Serial.begin(9600);
bool status;
// default settings
status = bme.begin(0x76); //La direccion I2C del sensor que uso un BME280 x76
if (!status) {
Serial.print("connections");
while (1);
}
}
void loop() {
getPressure();
getHumidity();
getTemperature();
String temperatureString = String(temperature,1);
String humidityString = String(humidity,2);
String pressureString = String(pressure,2);
if(millis()-inicia>=tiempo){
inicia=millis();
Serial.println("----------------------------");
Serial.print("Temperatura: ");
Serial.println(temperatureString);
Serial.print("Humedad : ");
Serial.print(humidityString);
Serial.println(" %");
Serial.print("Presion At.: ");
Serial.print(pressureString);
Serial.println(" hPa");
Serial.print("Punto de Rocio :");
Serial.print(Pun_rocio);
Serial.println(" %");
Serial.print("Altitud : ");
Serial.print(altitud/1000);
Serial.println(" Mts/mar");
Serial.println("------------------------------"); }
//calcular altura nivel del mar en base a la presión atmosferica
float A = pressure/101325;
float B = 1/5.25588;
float C = pow(A,B);
C = 1.0 - C;
altitud = C /0.0000225577;
//calcular punto de rocío
raiz1= pow(humidity,1.0/8);
raiz2= pow(100,1.0/8);
float div_raiz= raiz1/raiz2;
Pun_rocio= div_raiz*(110+temperature)-110;
}
float getTemperature()
{temperature = bme.readTemperature();}
float getHumidity()
{humidity = bme.readHumidity();}
float getPressure()
{pressure = bme.readPressure();
pressure = pressure/100.0F;}