[Solucionado] Problema de programación Sensor BMP Y RTC

Es la primera vez que utilizo arduino, tengo que hacer un proyecto, su objetivo es conseguir los datos del día (Día, mes año) y hora (hora, segundo, minuto) además, tiene que proporcionar datos sobre la temperatura ambiente y presión atmosferica.

Para obtener los datos del tiempo, tengo un módulo RTCDS3231, estuve viendo vídeos acerca de ambos módulos y copié la programación:

#include <Wire.h>
#include <RTClib.h>

RTC_DS3231 rtc;

void setup () {
Serial.begin(9600);
if (! rtc.begin()) {
Serial.println("Modulo RTC no encontrado !");
while (1);
}
rtc.adjust(DateTime(__DATE__, __TIME__));
}

void loop () {
DateTime fecha = rtc.now();
Serial.print(fecha.day());
Serial.print("/");
Serial.print(fecha.month());
Serial.print("/");
Serial.print(fecha.year());
Serial.print(" ");
Serial.print(fecha.hour());
Serial.print(":");
Serial.print(fecha.minute());
Serial.print(":");
Serial.println(fecha.second());

delay(1000);
}



Y la programación del sensor BMP280:

#include <Wire.h>    // incluye libreria de bus I2C
#include <Adafruit_Sensor.h>  // incluye librerias para sensor BMP280
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp;    // crea objeto con nombre bmp

float TEMPERATURA;    // variable para almacenar valor de temperatura
float PRESION;      // variable para almacenar valor de presion atmosferica

void setup() {
 Serial.begin(9600);       // inicializa comunicacion serie a 9600 bps
 Serial.println("Iniciando:");     // texto de inicio
 if ( !bmp.begin() ) {       // si falla la comunicacion con el sensor mostrar
   Serial.println("BMP280 no encontrado !"); // texto y detener flujo del programa
   while (1);          // mediante bucle infinito
 }
}

void loop() {
 TEMPERATURA = bmp.readTemperature();    // almacena en variable el valor de temperatura
 PRESION = bmp.readPressure()/100;   // almacena en variable el valor de presion divido
           // por 100 para covertirlo a hectopascales
 Serial.print("Temperatura: ");    // muestra texto
 Serial.print(TEMPERATURA);      // muestra valor de la variable
 Serial.print(" C ");        // muestra letra C indicando grados centigrados
   
 Serial.print("Presion: ");      // muestra texto
 Serial.print(PRESION);      // muestra valor de la variable
 Serial.println(" hPa");     // muestra texto hPa indicando hectopascales

 delay(5000);          // demora de 5 segundos entre lecturas
}

Las probé y brinda los datos que necesito, pero tengo una duda, hay alguna forma de juntar la programación en una sola? (Probé las programaciones a parte)

Contandoles más acerca de mi proyecto, así es como debería funcionar:

Desde una computadora, se le pide a un arduino la información de la fecha junto con los datos de la presión y temperatura, esa petición pasa por el arduino antes mencionado, y después pasa por un convertidor electrico-óptica, pasa por un tramo de fibra óptica hasta que llega a un convertidor óptico- electrico, para que finalmente llegue a otro arduino que se encargará de conseguir la información solicitada por el primer arduino, una vez que consigue la información, se la envía

Lee las normas del foro y edita tu post usando etiquetas para postear el código.
También edita tu título, soy Novato no es título para un hilo, debe ser algo referido a tu consulta.

Junta las cosas cada una con cada una, la estructura debe quedar asi:

#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
//Mas código aqui, sin repetir


void setup(){
   //Código aqui
}
void loop(){
   //Código aqui
}

PD: Edita tu primer mensaje y pon tu código entre code como indican las normas del foro.

surbyte:
Lee las normas del foro y edita tu post usando etiquetas para postear el código.
También edita tu título, soy Novato no es título para un hilo, debe ser algo referido a tu consulta.

Gracias por la corrección :slight_smile:

Kike_GL:
Junta las cosas cada una con cada una, la estructura debe quedar asi:

#include <Wire.h>

#include <RTClib.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
//Mas código aqui, sin repetir

void setup(){
  //Código aqui
}
void loop(){
  //Código aqui
}

Gracias por el tip, ya lo probé y funcionó, ¿me podrías ayudar con mi segunda duda?, ¿Cómo puedo solicitarle los datos al arduino?, osea, el mi proyecto se trata de solocitar los datos desde una computadora, un arduino recibe la petición y manda la petición al segundo arduino, éste arduino es el que controla a ambos componentes (RTC y BMP) y el segundo arduino debe conseguir los datos y enviarlos,

Mi estimado, me parece una burla esto!!!

Gracias por la corrección :slight_smile:

Ahora contactame por privado pero antes de hacerlo lee las normas del foro.