How are two codes joined?

I am studying a project that I saw on the internet about a station of environmental conditions, and I would like to join two codes (one that measures barometric pressure) and (another that measures temperature and relative humidity) I have not been able to successfully join them, they don’t work together and I don’t understand how I should join them. (I have tried them together by running them in proteus and it doesn’t work, I’m frustrated because I don’t understand, please help.

this is the code for temperature and relative humidity

#include <Adafruit_Sensor.h>
#include <LiquidCrystal.h>
#include <DHT.h>
#include <DHT_U.h>

//VARIABLES
//Asignación de los pines digitales
int SENSOR = 2; //Este es el pin #2
int RS = 4;
int E = 5;
int D4 = 6;
int D5 = 7;
int D6 = 8;
int D7 = 9;
//Variables de lectura de tempratura y humedad
int temp;
int hume;
//Creación de variables para el sensor y el display
DHT dht(SENSOR,DHT11);                    //Formato general: DHT <var_name>(PIN, MODELO DEL SENSOR)
LiquidCrystal lcd(RS, E, D4, D5, D6, D7); // Formato general: LiquidCrystal <var_name>(RS, RW, ENABLE, D0, D1, D2, D3, D4, D5, D6, D7)
//Variable para salida del abanico
int motor = 12;

void setup(){
  
  //Iniciar el sensor de temp
  dht.begin();
  //Iniciar el LCD
  lcd.begin(16,2); //(tipo 16 columnas, 2 líneas)
  //Setea el Pin 12 como salida
  pinMode(motor,OUTPUT);
         
}

void loop(){ //Este es el buclé principal del programa

  //Lee valores físicos
  hume = dht.readHumidity();
  temp = dht.readTemperature();

  //Limpia el LCD
  lcd.clear(); //esta instrucción coloca el cursor en la pos 0,0 (columna, fila)
  lcd.setCursor(0,0); //(no necesaria porque la linea de arriba ya lo hace)
  //Escribe los valores leídos en el LCD
  lcd.print("TEMPERATURA: ");
  lcd.print(temp);
  lcd.print("C");
  lcd.setCursor(0,1); //esta instrucción coloca el cursor en la pos 0,1 (columna, fila)
  lcd.print("HUMEDAD: ");
  lcd.print(hume);
  lcd.print("%");

  //Activa el motor si la temperatura pasa el valor deseado
  if(temp>=30){ // Compara si la temp ya es 30 grados
    digitalWrite(motor,HIGH); //Si lo es manda un 1 lógico a teavés del pin digital #12
  }
  else{
    digitalWrite(motor,LOW);// sino, manda un 0, lo que apagaría el motor
  }

  delay(2000);//valor en milisengundos para que repita el ciclo
  
}

this is the barometric pressure code

#include <Wire.h>
#include <Adafruit_BMP085.h>

// Connect VCC of the BMP085 sensor to 3.3V (NOT 5.0V!)
// Connect GND to Ground
// Connect SCL to i2c clock - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 5
// Connect SDA to i2c data - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 4
// EOC is not used, it signifies an end of conversion
// XCLR is a reset pin, also not used here

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
	Serial.println("Could not find a valid BMP085 sensor, check wiring!");
	while (1) {}
  }
}
  
void loop() {
    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");

  // you can get a more precise measurement of altitude
  // if you know the current sea level pressure which will
  // vary with weather and such. If it is 1015 millibars
  // that is equal to 101500 Pascals.
    Serial.print("Real altitude = ");
    Serial.print(bmp.readAltitude(101500));
    Serial.println(" meters");
    
    Serial.println();
    delay(500);
}

Try google, you are not the first to try this.

Prueba google, no eres la primera en probar esto. Edit: the first time I read your post, it was not in English!

arduino combine two sketches

HTH

a7

To merge two programs, the first step is to work through both of them, line by line, and understand how they work. Every line is important.

Then, you take the relevant parts of each program, modifying them if necessary so that they are compatible and put them together in a single new program. Check for conflicts with variable and function names.

You can refer to this FAQ: How to combine two Arduino sketches

A straight merge. Compiles, not tested (like, at all…)

#include <Wire.h>
#include <Adafruit_BMP085.h>
#include <Adafruit_Sensor.h>
#include <LiquidCrystal.h>
#include <DHT.h>
#include <DHT_U.h>

Adafruit_BMP085 bmp;

//VARIABLES
//Asignación de los pines digitales
int SENSOR = 2; //Este es el pin #2
int RS = 4;
int E = 5;
int D4 = 6;
int D5 = 7;
int D6 = 8;
int D7 = 9;
//Variables de lectura de tempratura y humedad
int temp;
int hume;
//Creación de variables para el sensor y el display
DHT dht(SENSOR,DHT11);                    //Formato general: DHT <var_name>(PIN, MODELO DEL SENSOR)
LiquidCrystal lcd(RS, E, D4, D5, D6, D7); // Formato general: LiquidCrystal <var_name>(RS, RW, ENABLE, D0, D1, D2, D3, D4, D5, D6, D7)
//Variable para salida del abanico
int motor = 12;

void setup()
{
    Serial.begin(9600);
 
    //Iniciar el sensor de temp
    dht.begin();
    //Iniciar el LCD
    lcd.begin(16,2); //(tipo 16 columnas, 2 líneas)
    //Setea el Pin 12 como salida
    pinMode(motor,OUTPUT);

    if (!bmp.begin()) 
    {
        Serial.println("Could not find a valid BMP085 sensor, check wiring!");
        while(1);
        
    }//if
         
}

void loop()
{ 
    //Este es el buclé principal del programa
    //Lee valores físicos
    hume = dht.readHumidity();
    temp = dht.readTemperature();

    //Limpia el LCD
    lcd.clear(); //esta instrucción coloca el cursor en la pos 0,0 (columna, fila)
    lcd.setCursor(0,0); //(no necesaria porque la linea de arriba ya lo hace)
    
    //Escribe los valores leídos en el LCD
    lcd.print("TEMPERATURA: ");
    lcd.print(temp);
    lcd.print("C");
    lcd.setCursor(0,1); //esta instrucción coloca el cursor en la pos 0,1 (columna, fila)
    
    lcd.print("HUMEDAD: ");
    lcd.print(hume);
    lcd.print("%");

    //Activa el motor si la temperatura pasa el valor deseado
    if(temp>=30)
    { // Compara si la temp ya es 30 grados
        digitalWrite(motor,HIGH); //Si lo es manda un 1 lógico a teavés del pin digital #12
    }
    else
    {
        digitalWrite(motor,LOW);// sino, manda un 0, lo que apagaría el motor
    }

    PrintBaroParms();
    
    delay(2000);//valor en milisengundos para que repita el ciclo
     
}

void PrintBaroParms( void )
{
    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");

    // you can get a more precise measurement of altitude
    // if you know the current sea level pressure which will
    // vary with weather and such. If it is 1015 millibars
    // that is equal to 101500 Pascals.
    Serial.print("Real altitude = ");
    Serial.print(bmp.readAltitude(101500));
    Serial.println(" meters");
   
    Serial.println();
}

More links to tutorials:

http://www.thebox.myzen.co.uk/Tutorial/Merging_Code.html

https://arduinoinfo.mywikis.net/wiki/CombiningArduinoSket

Blackfin:
Una fusión directa. Compila, no probado (como, en absoluto …)

#include <Wire.h>

#include <Adafruit_BMP085.h>
#include <Adafruit_Sensor.h>
#include <LiquidCrystal.h>
#include <DHT.h>
#include <DHT_U.h>

Adafruit_BMP085 bmp;

//VARIABLES
//Asignación de los pines digitales
int SENSOR = 2; //Este es el pin #2
int RS = 4;
int E = 5;
int D4 = 6;
int D5 = 7;
int D6 = 8;
int D7 = 9;
//Variables de lectura de tempratura y humedad
int temp;
int hume;
//Creación de variables para el sensor y el display
DHT dht(SENSOR,DHT11);                    //Formato general: DHT <var_name>(PIN, MODELO DEL SENSOR)
LiquidCrystal lcd(RS, E, D4, D5, D6, D7); // Formato general: LiquidCrystal <var_name>(RS, RW, ENABLE, D0, D1, D2, D3, D4, D5, D6, D7)
//Variable para salida del abanico
int motor = 12;

void setup()
{
    Serial.begin(9600);

//Iniciar el sensor de temp
    dht.begin();
    //Iniciar el LCD
    lcd.begin(16,2); //(tipo 16 columnas, 2 líneas)
    //Setea el Pin 12 como salida
    pinMode(motor,OUTPUT);

if (!bmp.begin())
    {
        Serial.println(“Could not find a valid BMP085 sensor, check wiring!”);
        while(1);
       
    }//if
       
}

void loop()
{
    //Este es el buclé principal del programa
    //Lee valores físicos
    hume = dht.readHumidity();
    temp = dht.readTemperature();

//Limpia el LCD
    lcd.clear(); //esta instrucción coloca el cursor en la pos 0,0 (columna, fila)
    lcd.setCursor(0,0); //(no necesaria porque la linea de arriba ya lo hace)
   
    //Escribe los valores leídos en el LCD
    lcd.print("TEMPERATURA: ");
    lcd.print(temp);
    lcd.print(“C”);
    lcd.setCursor(0,1); //esta instrucción coloca el cursor en la pos 0,1 (columna, fila)
   
    lcd.print(“HUMEDAD: “);
    lcd.print(hume);
    lcd.print(”%”);

//Activa el motor si la temperatura pasa el valor deseado
    if(temp>=30)
    { // Compara si la temp ya es 30 grados
        digitalWrite(motor,HIGH); //Si lo es manda un 1 lógico a teavés del pin digital #12
    }
    else
    {
        digitalWrite(motor,LOW);// sino, manda un 0, lo que apagaría el motor
    }

PrintBaroParms();
   
    delay(2000);//valor en milisengundos para que repita el ciclo
   
}

void PrintBaroParms( void )
{
    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”);

// you can get a more precise measurement of altitude
    // if you know the current sea level pressure which will
    // vary with weather and such. If it is 1015 millibars
    // that is equal to 101500 Pascals.
    Serial.print(“Real altitude = “);
    Serial.print(bmp.readAltitude(101500));
    Serial.println(” meters”);
 
    Serial.println();
}

They execute it in proteus and it does not show me the window that prints the variables of the barometric pressure code, :frowning:

nessatinuviel00:
They execute it in proteus and it does not show me the window that prints the variables of the barometric pressure code, :frowning:

I know nothing of Proteus. I gather it's a simulation environment. It doesn't emulate a serial monitor?

nessatinuviel00:
I would like to join two codes (one that measures barometric pressure) and (another that measures temperature and relative humidity)

What will the combined sketch do? And don't say "it will measure both", because you don't just want to measure these things, you also want to display them.