[Résolu] Comparaison heure sur une carte sd et heure d'un module RTC DS1037

Bonjour à tous,

J’ai besoins de votre aide sur un projet de Terminal.

Je dois faire un code permettant de faire tourner un moteur pas à pas à une heure précise dans la journée.( l’information est envoyer par une page web et est reçu sur la carte sd, je n’ai pas encore coder la lecture des informations sur la carte sd.)

j’utilise un moteur pas à pas,
une carte de puissance L293 pour le moteur,
un module RTC DS1307,
et un shield ethernet.

Le problème est que je ne comprend pas bien l’utilisation de la librairie RTClib.h dans le code que je dois faire.

Si vous pouviez me m’aider a comprendre et me corriger je vous en remercierais.

// --- Programme Arduino ---

// ---Déclaration des librairies
#include <Stepper.h> // librairie pour moteurs pas à pas
#include <Wire.h>
#include <RTClib.h>



// --- constantes des broches ---

const int C0=2; //déclaration constante de broche 
const int C1=3; //déclaration constante de broche 
const int C2=4; //déclaration constante de broche 
const int C3=8; //déclaration constante de broche 

DateTime HeureSite; //L'Heure envoyer par le site 
DateTime MinuteSite;// Minutes envoyer par le site 
const int NombrePas=200;


Stepper stepper(NombrePas, C0, C1, C2, C3);  // crée un objet Stepper pour contrôler le moteur pas à pas
RTC_DS1307 RTC;
 //RTC.adjust(DateTime(__DATE__, __TIME__));


void setup()   { 
  stepper.setSpeed(30);
  Wire.begin();
  RTC.begin();

  // ------- Broches en sortie -------  
  pinMode(C0, OUTPUT); //met la broche en sortie 
  pinMode(C1, OUTPUT); //met la broche en sortie 
  pinMode(C2, OUTPUT); //met la broche en sortie 
  pinMode(C3, OUTPUT); //met la broche en sortie 

}
void loop(){ 

  
DateTime now = RTC.now();


  if( HeureSite = now.hour() ) and (MinuteSite = now.minute())
  
  {
    for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas
      stepper.step(1); // un pas en sens positif
    }
  }

 

}

Pour la partie moteur je me suis référer au site mon club elec recommandé par ma professeur.

Erreur là:

  if( HeureSite = now.hour() ) and (MinuteSite = now.minute())

= opérateur d'affectation == opérateur de test d'égalité

La bonne syntaxe c'est:

  if( HeureSite == now.hour() ) and (MinuteSite == now.minute())

merci pour ta réponse mais j'ai toujours ce problème. =( Quand je vérifie le programme il me marque sa

no match for'operator==' HeureSite==now.DateTime::hour() moteurpasapas.cpp: In function 'void loop()': moteurpasapas:45: error: no match for 'operator==' in 'HeureSite == now.DateTime::hour()' moteurpasapas:45: error: expected identifier before '(' token moteurpasapas:45: error: expected ;' before '(' token moteurpasapas:53: error: expected}' at end of input

Je pense que sa dois être à cause des déclarations de variables

J'avais pas vu le type de HeureSite et MinuteSite.

HeureSite et MinuteSite doivent être de type byte

Merci encore pour tes réponses XD XD