Problème "Redefinition of"

Problème “Redefinition of”

Bonjour
Tout nouveau sur ce forum et sur Arduino
Je suis en train d’essayer de monter un thermomètre avec la sonde DHT11 et en plus pour indiquer la date et l’heure j’utilise un module DS3231 avec une carte ARDUINO.
Le montage ne me pose pas de problème, les 2 systèmes fonctionnent séparément mais lorsque je fusionne le code ino des 2 cartes (DHT11 et DS3231) j’ai une erreur : redefinition of 'const int DHT_SENSOR_PIN

Voici le code ino que j’ai inséré

#include <dht_nonblocking.h>
#include <Wire.h>
#include <DS3231.h>
#define DHT_SENSOR_TYPE DHT_TYPE_11

static const int DHT_SENSOR_PIN = 2;
DHT_nonblocking dht_sensor( DHT_SENSOR_PIN, DHT_SENSOR_TYPE );
DS3231 clock;
RTCDateTime dt;

/*

  • Initialize the serial port.
    */
    void setup( )
    {
    Serial.begin( 9600);

// Initialize DS3231
clock.begin();

// Manual (YYYY, MM, DD, HH, II, SS
// clock.setDateTime(2016, 12, 9, 11, 46, 00);

// Send sketch compiling time to Arduino
clock.setDateTime(DATE, TIME);
/*
Tips:This command will be executed every time when Arduino restarts.
Comment this line out to store the memory of DS3231 module
*/
}

/*

  • Poll for a measurement, keeping the state machine alive. Returns
  • true if a measurement is available.
    */
    static bool measure_environment( float *temperature, float *humidity )
    {
    static unsigned long measurement_timestamp = millis( );

/* Measure once every four seconds. */
if( millis( ) - measurement_timestamp > 1350000ul )
{
if( dht_sensor.measure( temperature, humidity ) == true )
{
measurement_timestamp = millis( );
return( true );
}
}

return( false );
}

/*

  • Main program loop.
    */
    void loop( )
    {
    dt = clock.getDateTime();
    float temperature;
    float humidity;

/* Measure temperature and humidity. If the functions returns
true, then a measurement is available. */
if( measure_environment( &temperature, &humidity ) == true )
{
// For leading zero look to DS3231_dateformat example

Serial.print(“Raw data: “);
Serial.print(dt.year); Serial.print(”-”);
Serial.print(dt.month); Serial.print("-");
Serial.print(dt.day); Serial.print(" “);
Serial.print(dt.hour); Serial.print(”:");
Serial.print(dt.minute); Serial.print(":");
Serial.print(dt.second); Serial.println("");
Serial.print( "T = " );
Serial.print( temperature, 1 );
Serial.print( " deg. C, H = " );
Serial.print( humidity, 1 );
Serial.println( “%” );
}
}

Merci de votre aide et de votre compréhension
Louis

Après avoir coché dans files>préférences les options "afficher les résultats pendant" , il vous FAUT poster l' INTEGRALITé des messages d'erreur

Normalement, le message associé à cette erreur

redefinition of 'const int DHT_SENSOR_PIN

indique où les redéfinitions on été rencontrées

Et si tu enlèves le static ?

fdufnews: Normalement, le message associé à cette erreur indique où les redéfinitions on été rencontrées

Oups je n'avais pas vu cette précision

Cordialement, bidouilleelec

@lweit et lis ça et ça aussi si tu veux continuer sur le forum

Merci pour vos réponses Je dois modifier mon premier message pour rentrer dans les règles du forum ?

Merci Louis

Pour compléter mon 1er message voici le message d'erreur complet

Arduino : 1.8.9 (Windows 10), Carte : "Arduino/Genuino Uno"

DHT11_Example:9:29: error: 'DHT_SENSOR_PIN' was not declared in this scope

DHT11_DS3231:11:29: error: redefinition of 'DHT_nonblocking dht_sensor'

\\GATEWAY55\Téléchargements terminés\_Raspberry & Arduino\Elegoo The most complete starter kit\Français\code\Lesson 12 DHT11 Temperature and Humidity Sensor\DHT11_Example\DHT11_Example.ino:9:17: note: 'DHT_nonblocking dht_sensor' previously declared here

\\GATEWAY55\Téléchargements terminés\_Raspberry & Arduino\Elegoo The most complete starter kit\Français\code\Lesson 12 DHT11 Temperature and Humidity Sensor\DHT11_Example\DHT11_DS3231.ino: In function 'void setup()':

DHT11_DS3231:18:6: error: redefinition of 'void setup()'

\\GATEWAY55\Téléchargements terminés\_Raspberry & Arduino\Elegoo The most complete starter kit\Français\code\Lesson 12 DHT11 Temperature and Humidity Sensor\DHT11_Example\DHT11_Example.ino:16:6: note: 'void setup()' previously defined here

\\GATEWAY55\Téléchargements terminés\_Raspberry & Arduino\Elegoo The most complete starter kit\Français\code\Lesson 12 DHT11 Temperature and Humidity Sensor\DHT11_Example\DHT11_DS3231.ino: In function 'bool measure_environment(float*, float*)':

DHT11_DS3231:43:13: error: redefinition of 'bool measure_environment(float*, float*)'

\\GATEWAY55\Téléchargements terminés\_Raspberry & Arduino\Elegoo The most complete starter kit\Français\code\Lesson 12 DHT11 Temperature and Humidity Sensor\DHT11_Example\DHT11_Example.ino:27:13: note: 'bool measure_environment(float*, float*)' previously defined here

\\GATEWAY55\Téléchargements terminés\_Raspberry & Arduino\Elegoo The most complete starter kit\Français\code\Lesson 12 DHT11 Temperature and Humidity Sensor\DHT11_Example\DHT11_DS3231.ino: In function 'void loop()':

DHT11_DS3231:65:6: error: redefinition of 'void loop()'

\\GATEWAY55\Téléchargements terminés\_Raspberry & Arduino\Elegoo The most complete starter kit\Français\code\Lesson 12 DHT11 Temperature and Humidity Sensor\DHT11_Example\DHT11_Example.ino:49:6: note: 'void loop()' previously defined here

exit status 1
'DHT_SENSOR_PIN' was not declared in this scope

Comme préciser dans le message de lesept j'ai supprimer le static et tout fonctionne.

La prochaine fois j'appliquerai vos recommandations. Encore merci à tous

Louis