Probleme de code avec une uno R4 WIFI

bonjour voici mon code qui a une ou des erreurs, si qlq peut m'aider je suis preneur:
#include "thingProperties.h"

const int trigPin = 12; // Pin de déclenchement (trigger) du capteur ultrasonique
const int echoPin = 13; // Pin d'écho (echo) du capteur ultrasonique
const int Relay = 8;

void setup() {
pinMode(trigPin, OUTPUT); // Configure trigPin en sortie
pinMode(echoPin, INPUT); // Configure echoPin en entrée
pinMode(Relay, OUTPUT); // Configure Relay en sortie

Serial.begin(9600); // Initialise la communication série pour afficher la distance
// This delay gives the chance to wait for a Serial Monitor without blocking if none is found
delay(1500);

// Defined in thingProperties.h
initProperties();

// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);

/*
The following function allows you to obtain more information
related to the state of network and IoT Cloud connection and errors
the higher number the more granular information you’ll get.
The default is 0 (only errors).
Maximum is 4
*/
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}

void loop() {
ArduinoCloud.update();
digitalWrite(trigPin, LOW); // Met trigPin à LOW pour s'assurer qu'il n'y a pas de signal résiduel
delayMicroseconds(2); // Attend 2 microsecondes
digitalWrite(trigPin, HIGH); // Met trigPin à HIGH pour envoyer une impulsion
delayMicroseconds(10); // Maintient HIGH pendant 10 microsecondes pour envoyer l'impulsion ultrasonique
digitalWrite(trigPin, LOW); // Met trigPin à LOW pour terminer l'impulsion

long duration = pulseIn(echoPin, HIGH); // Mesure la durée de l'impulsion retour en microsecondes

// Calcul de la distance en fonction de la vitesse du son dans l'air (en cm/µs)
float speedOfSound = 0.0343; // Vitesse du son à 20°C en cm/µs
float distance = (duration / 2.0) * speedOfSound; // Calcul de la distance en cm

// Affichage de la distance mesurée sur le moniteur série
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");

// Contrôle du relais en fonction de la distance et de l'état de lED
if (lED == true) { // Assurez-vous que lED est de type bool
if (distance <= 50) {
digitalWrite(Relay, HIGH); // Allume le relais si la distance est <= 50cm
} else {
digitalWrite(Relay, LOW); // Éteint le relais sinon
}
} else {
digitalWrite(Relay, LOW); // Éteint le relais si lED est 0
}
}

/*
Since lED is READ_WRITE variable, onlEDChange() is
executed every time a new value is received from IoT Cloud.
*/
void onlEDChange() {
// Ajoutez ici votre code pour agir lors du changement de lED
// Par exemple, vous pouvez mettre à jour une variable globale ou déclencher une action spécifique
}
LE MSS D'ERREUR EST LE SUIVANT:

/tmp/arduino-build-0D394F4B465DFE1513AD07DADE1C7A8C/sketch/objs.a(LED_control_jun21a.ino.cpp.o): In function initProperties()': /tmp/3961530961/LED_control_jun21a/thingProperties.h:17: undefined reference to onLEDChange()'
collect2: error: ld returned 1 exit status
Multiple libraries were found for "RTC.h"
Used: /home/builder/.arduino15/packages/arduino/hardware/renesas_uno/1.2.0/libraries/RTC
Not used: /home/builder/opt/libraries/m5stickcplus_0_1_0
Not used: /home/builder/opt/libraries/m5core2_0_1_9
Not used: /home/builder/opt/libraries/m5station_0_0_1
Not used: /home/builder/opt/libraries/m5stickc_0_2_9
Error during build: exit status 1

Tu t'aiderais en présentant ton code correctement afin qu'il soit lisible par les aidants.

En particulier, la mise en forme du code avec les balises <code/>

merci pour l'info, je reformule donc ma question...
j'ai un programme de base qui fonctionne bien. Il consiste a allumer une led quand mon capteur a ultrason capte a une distance X.
le code1 en question:

const int trigPin = 12;  // Pin de déclenchement (trigger) du capteur ultrasonique
const int echoPin = 13;  // Pin d'écho (echo) du capteur ultrasonique
int Relay = 8;

void setup() {
  pinMode(trigPin, OUTPUT);  // Configure trigPin en sortie
  pinMode(echoPin, INPUT);   // Configure echoPin en entrée
  pinMode(Relay, OUTPUT);   // Configure ledPin en sortie

  Serial.begin(9600);  // Initialise la communication série pour afficher la distance
}

void loop() {
  digitalWrite(trigPin, LOW);     // Met trigPin à LOW pour s'assurer qu'il n'y a pas de signal résiduel
  delayMicroseconds(2);           // Attend 2 microsecondes
  digitalWrite(trigPin, HIGH);    // Met trigPin à HIGH pour envoyer une impulsion
  delayMicroseconds(10);          // Maintient HIGH pendant 10 microsecondes pour envoyer l'impulsion ultrasonique
  digitalWrite(trigPin, LOW);     // Met trigPin à LOW pour terminer l'impulsion

  long duration = pulseIn(echoPin, HIGH);  // Mesure la durée de l'impulsion retour en microsecondes

  // Calcul de la distance en fonction de la vitesse du son dans l'air (en cm/µs)
  float speedOfSound = 0.0343;  // Vitesse du son à 20°C en cm/µs
  float distance = (duration / 2.0) * speedOfSound;  // Calcul de la distance en cm

  // Affichage de la distance mesurée sur le moniteur série
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  // Contrôle de la LED en fonction de la distance mesurée
  if (distance <= 50) {
    digitalWrite(Relay, HIGH);  // Allume la LED si la distance est <= 50cm
  } else {
    digitalWrite(Relay, LOW);   // Éteint la LED sinon
  }

  delay(80);  // Attend 800 millisecondes avant la prochaine mesure
}

Maintenant j'aimerais associe le code précèdent au code suivant( code 2) qui fonctionne aussi ( qui allume la led quand j'active on/off depuis mon téléphone via l'appli avec la dashboards).
L'objectif étant que si j'active on depuis l'appli alors le code 1 "se lance" sinon off rien ne doit se passer.
l'idée serait d'avoir un double if avec si interrupteur=on et si capteur <= X alors la led s'allume. J'espère que c'est compréhensible

code 2:

#include "thingProperties.h" 
#define LEDpin 13

void setup() {
  Serial.begin(9600);  // Initialise la communication série pour afficher la distance
  // This delay gives the chance to wait for a Serial Monitor without blocking if none is found
  delay(1500); 

  // Defined in thingProperties.h
  initProperties();

  // Connect to Arduino IoT Cloud
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);

  /*
     The following function allows you to obtain more information
     related to the state of network and IoT Cloud connection and errors
     the higher number the more granular information you’ll get.
     The default is 0 (only errors).
     Maximum is 4
  */
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}

void loop() {
  ArduinoCloud.update();
  if (lED == 1) { 
    digitalWrite(LEDpin, HIGH);
  } else {digitalWrite(LEDpin, LOW);}

}
    
/*
  Since lED is READ_WRITE variable, onlEDChange() is
  executed every time a new value is received from IoT Cloud.
*/
void onLEDChange() {
  // Ajoutez ici votre code pour agir lors du changement de lED
  /*
   if (lED == 1) { 
    digitalWrite(lEDpin, HIGH);
  } else {digitalWrite(LEDpin, LOW);}
  */
}

MERCI D'AVANCE

Bonjour @thozwzy_83,

Tu as tout ce qui faut en main pour y arriver.
Intégre le code de ton premier programme à l'intérieur du deuxième avec la double condition que tu a écrit littéralement :

Code le et tu devrais arriver à le faire fonctionner.

Si ça ne fonctionne pas, mets le code que tu as essayé de créer.

c'est le premier post qu'il faut corriger...

Merci d'éditer votre post en utilisant le :pencil2: dans la barre d'outil juste sous votre post et rajoutez les balises de de code (c'est difficilement lisible tel quel) :

  • sélectionner la partie du texte qui correspond au code
  • appuyez sur l'icône <code/> dans la barre d'outils pour indiquer que c'est du code

(Assurez vous aussi d'indenter le code correctement dans l'IDE avant de le copier pour le coller ici. Cela se fait en pressant ctrlT sur PC ou cmdT sur un Mac)