Buenas, es la pri,era vez que escribo, lo primero agradecer el trabajo que haceis para tene un foro como este.
LLevo ya un par de semanas y me estoy dando por vencido Google ya solo me muestra enlaces leidos jajaaj
lo que quiero es leer los datos del sensor bme280 en la lcd.
en el puerto com leo los datos del bme280 sin problema, pero el la pantalla me aparece el tecto get temperature...... en vez de la temperatura actual
e cambiado hasta de esquema y codigos, e probado mil, y a lo mas que llego es eso …. se nota k soy muy nuevo jejje , aquí os paso el código
Arduino uno r3 sensor bme280 y lcd 16x2
#include <LiquidCrystal.h>
#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: ");
Serial.print(pressure = 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);
}
Siempre que postees código debes usar estiquetas </> Te paso por privado instrucciones para que modifiques tu post.
Muchos errores en tu códgio.
Te voy a pedir que cuando lo tengas en el IDE, uses AUTOFORMATO para al menos entregarlo de forma legible y no como lo has hecho, (mas allá de la falta de etiquetas).
Este es tu error
El setup es para inicializar cosas pero no para poner el include de una librería.
El comienzo de tu código debe ser asi
#include "Seeed_BME280.h"
#include <Wire.h>
BME280 bme280;
#include <LiquidCrystal.h>
//Declarar LCD y pines
LiquidCrystal lcd(7,6,5,4,3,2);
void setup() {
Serial.begin(9600);
if (!bme280.init()){
Serial.println("Device error!");
}
/** Mostrar información en una pantalla LCD de 16x2 **/
//Definir las dimensiones del LCD (16x2)
lcd.begin(16,2);
//Seleccionamos en que columnay en que linea empieza a mostrar el texto
lcd.setCursor(0,0);
//Mostramos el texto deseado
lcd.print("geTemperature");lcd.print("h");
lcd.setCursor(0,1);
//Mostramos el texto deseado
lcd.print("float pressure");
}
NOTA: Observa como he posteado, asi quiero que edites tu post anterior.
Buenas e editado el código como me digiste, pero me da error al compilar, aquí pongo el code como lo e puesto, según lo k entendí jejeej
#include "Seeed_BME280.h"
#include <Wire.h>
BME280 bme280;
#include "Seeed_BME280.h"
#include <LiquidCrystal.h>
//Declarar LCD y pines
LiquidCrystal lcd(7,6,5,4,3,2);
void setup(){
Serial.begin(9600);
if (!bme280.init()) {
Serial.println("Device error!*);
}
/** Mostrar información en una pantalla LCD de 16x2 **/
//Definir las dimensiones del LCD (16x2)
lcd.begin(16,2);
//Seleccionamos en que columnay en que linea empieza a mostrar el texto
lcd.setCursor(0,0);
//Mostramos el texto deseado
lcd.print("geTemperature");lcd.print("h");
lcd.setCursor(0,1);
//Mostramos el texto deseado
lcd.print("float pressure");
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: ");
Serial.print(pressure = 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);
}
Arduino:1.8.7 (Windows 10), Tarjeta:"Arduino/Genuino Uno"
C:\Users\TrendingPC\Documents\Arduino\bme280drk\bme280drk.ino: In function 'void setup()':
bme280drk:12:8: error: 'bme280' was not declared in this scope
if (!bme280.init()) {
^
bme280drk:34:1: error: a function-definition is not allowed here before '{' token
{
^
bme280drk:82:1: error: expected '}' at end of input
}
^
exit status 1
'bme280' was not declared in this scope
Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.
Como para cerrar el hilo, asi quedó la solución final
include "Seeed_BME280.h"
#include <Wire.h>
BME280 bme280;
#include "Seeed_BME280.h"
#include <LiquidCrystal.h>
//Declarar LCD y pines
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
void setup() {
Serial.begin(9600);
if (!bme280.init()) {
Serial.println("Device error!*");
}
/** Mostrar información en una pantalla LCD de 16x2 **/
//Definir las dimensiones del LCD (16x2)
lcd.begin(16, 2);
//Seleccionamos en que columnay en que linea empieza a mostrar el texto
lcd.setCursor(0, 0);
//Mostramos el texto deseado
lcd.print("Estacion Meteorologica");
}
void loop() {
float presion;
float temp;
//get and print temperatures
temp = bme280.getTemperature();
Serial.print("Temp: ");
Serial.print(temp);
Serial.println("C");//The unit for Celsius because original arduino don't support speical symbols
//get and print atmospheric pressure data
presion = bme280.getPressure()/100;
Serial.print("Presion: ");
Serial.print(presion);
Serial.println("mb");
//get and print altitude data
// Serial.print("Altitud: ");
// Serial.print(bme280.calcAltitude(pressure));
// Serial.println("m");
//get and print humidity data
float h = bme280.getHumidity();
Serial.print("Humedad: ");
Serial.print(h);
Serial.println("%");
char buffn1[10]; // Cadena donde almacenaremos el número convertido
char buffn2[10]; // Cadena donde almacenaremos el número convertido
char buffn3[10]; // Cadena donde almacenaremos el número convertido
dtostrf(temp, 5,1, buffn1); // Llamada a la función
dtostrf(presion, 6,1, buffn2); // Llamada a la función
dtostrf(h, 5,1, buffn3); // Llamada a la función
char buffer[20] = " "; //Buffer de la cadena donde se devuelve todo, número formateado y cadena concatenada
sprintf(buffer, "T:%5sC H:%5s%", buffn1, buffn3);
lcd.setCursor(0,0);
lcd.print(buffer);
Serial.println(buffer);
sprintf(buffer, "Presion: %4smb", buffn2);
lcd.setCursor(0,1);
lcd.print(buffer);
Serial.println(buffer);
delay(1000);
}