besoin d un petit coup de main pour un if

Je souhaite metre un relais brancher sur la pin 8 pour moon lights il s initialise bien dans mon setup mes en bas dans mon code selon les horaire programer rien n y fais sa ne s enclenche pas

// telecommande aquarium  ( 5592323 )
// telecommande lumiere meuble tv ( on/off 1601921 )  gradateur (+ 1601924) (- 1601922 )  
// telecommande lumiere lit ( on/off 12612369 )  gradateur (+ 12612372) (- 12612370 )
// telecommande desodirisant couloir ( on/off 1864065 )  gradateur (+ 1864068) (- 1864066 )
 
/*
Arduino Masterbalby Controller
 Analog Pin 0 = Température Sensor
 
 Digital Pin 11 = LCD
 Digital Pin 11 = NULL
 Digital Pin 12 = LCD
 Digital Pin 7 = LCD
 Digital Pin 8 = LCD
 Digital Pin 9 = LCD
 Digital Pin 10 = LCD
 Digital Pin 8 = moon_light
 Digital Pin 11 = PWM day_light
 Digital Pin 16 = Bouton poussoir 1 day light
 Digital Pin 15 = Bouton poussoir 2 chauffage
 */
#include <Wire.h> 
#include <RTClib.h>
#include <Time.h>
#include <LiquidCrystal.h>
#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h>
#include <RCSwitch.h>
#include <RTClib.h>
RCSwitch mySwitch = RCSwitch();
RTC_DS1307 RTC;
#include <stdio.h>
#include <stdlib.h>

/*
Arduino Masterbalby Controller

Analog Pin 0 = Température Sensor

Digital Pin 6 = // la pin de connexion de mon emmeteur 433 mhz

Digital Pin 11 = LCD
Digital Pin 12 = LCD
Digital Pin 5 = LCD
Digital Pin 3 = LCD
Digital Pin 2 = LCD
Digital Pin 3 = // la pin de connexion de mon émetteur

Branchement du module RTC DS1307
- DS1307 -> Arduino
- SDA -> Pin A4
- SCL -> Pin A5
- GND -> GND
- VCC+ -> +5V
*/
int minut;
int heure; 
int seconde;
int date;
int mois;
int annee; 
int temps_perso;
int sensorPin = 0;
int moon_light = 8;
int pwm = 18;
int heater_on_temp = 24;  //allume chauffage à cette température
int heater_off_temp = 26; //éteint le chauffage à cette température
int moon_on_time = 1428;  //allume les  moon lights à cette heure (en temps_perso)
int moon_off_time = 2150;  //éteint les moon lights à cette heure (en temps_perso)

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
   {
    /* RTC.stop();
    RTC.set(DS1307_SEC,00); //réglage secondes
    RTC.set(DS1307_MIN,59); //réglage minutes
    RTC.set(DS1307_HR,15); //réglage heures
    RTC.set(DS1307_DOW,6); //réglage jour de la semaine
    RTC.set(DS1307_DATE,11); //réglage date
    RTC.set(DS1307_MTH,12); //réglage mois
    RTC.set(DS1307_YR,10); //réglage année
    RTC.start();
    */ 
    }
   
    Serial.begin(9600);
    mySwitch.enableTransmit(6);  // la pin de connexion de mon émetteur
    mySwitch.setProtocol(1); // le protocol (cf screenshot ci dessus, que je mets donc à 1)
    mySwitch.setRepeatTransmit(2); // nombre de répétitions du signal histoire d'être sur que la prise recevra le signal
   
    lcd.begin(16, 2);
    lcd.print("MasterBalby 2.1");
    lcd.setCursor(0, 1) ;
    lcd.print("Gestion Aqua");
    delay(1700);
    lcd.clear(); 
    lcd.print(" initialisation");
    delay(1700);
    lcd.clear();
    Wire.begin();
    RTC.begin();
    pinMode(moon_light, OUTPUT);  // digital pin pour moon light en sortie

//Récupérer l heure du DS1307 ********************************************************************
  if (! RTC.isrunning())
    {
        Serial.println("RTC is NOT running!");
        // following line sets the RTC to the date & time this sketch was compiled
        //RTC.adjust(DateTime(__DATE__, __TIME__));
    }
}
   
void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');
   }
   
//Affichage température***************************************************************************

void displayTemperature(int temp)
{
    lcd.setCursor(8, 0);
    lcd.print("Temp:");
    lcd.print(temp);
    lcd.println("C");
    lcd.print(' ');
    delay(1000);
}





void loop() {
    
    //Récupérer la température du LM35 ***********************************************************

    int reading = analogRead(sensorPin);
    float voltage = reading * 5.0 / 1024;
    int temp = voltage * 100 ;
 
    //Affichage temps*****************************************************************************
    displayTime(RTC.now());
    
    //Affichage température***********************************************************************
    displayTemperature(temp);
    
  
   //programation relais**************************************************************************
  if(moon_on_time < temps_perso)
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }


  if(moon_on_time > temps_perso)
  {
    digitalWrite(moon_light, HIGH);
    }
  else{
    digitalWrite(moon_light, LOW);
      }    
}

moijerem:
Je souhaite metre un relais brancher sur la pin 8 pour moon lights il s initialise bien dans mon setup mes en bas dans mon code selon les horaire programer rien n y fais sa ne s enclenche pas

// telecommande aquarium  ( 5592323 )

// telecommande lumiere meuble tv ( on/off 1601921 )  gradateur (+ 1601924) (- 1601922 ) 
// telecommande lumiere lit ( on/off 12612369 )  gradateur (+ 12612372) (- 12612370 )
// telecommande desodirisant couloir ( on/off 1864065 )  gradateur (+ 1864068) (- 1864066 )

/*
Arduino Masterbalby Controller
Analog Pin 0 = Température Sensor

Digital Pin 11 = LCD
Digital Pin 11 = NULL
Digital Pin 12 = LCD
Digital Pin 7 = LCD
Digital Pin 8 = LCD
Digital Pin 9 = LCD
Digital Pin 10 = LCD
Digital Pin 8 = moon_light
Digital Pin 11 = PWM day_light
Digital Pin 16 = Bouton poussoir 1 day light
Digital Pin 15 = Bouton poussoir 2 chauffage
*/
#include <Wire.h>
#include <RTClib.h>
#include <Time.h>
#include <LiquidCrystal.h>
#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h>
#include <RCSwitch.h>
#include <RTClib.h>
RCSwitch mySwitch = RCSwitch();
RTC_DS1307 RTC;
#include <stdio.h>
#include <stdlib.h>

/*
Arduino Masterbalby Controller

Analog Pin 0 = Température Sensor

Digital Pin 6 = // la pin de connexion de mon emmeteur 433 mhz

Digital Pin 11 = LCD
Digital Pin 12 = LCD
Digital Pin 5 = LCD
Digital Pin 3 = LCD
Digital Pin 2 = LCD
Digital Pin 3 = // la pin de connexion de mon émetteur

Branchement du module RTC DS1307

  • DS1307 -> Arduino
  • SDA -> Pin A4
  • SCL -> Pin A5
  • GND -> GND
  • VCC+ -> +5V
    */
    int minut;
    int heure;
    int seconde;
    int date;
    int mois;
    int annee;
    int temps_perso;
    int sensorPin = 0;
    int moon_light = 8;
    int pwm = 18;
    int heater_on_temp = 24;  //allume chauffage à cette température
    int heater_off_temp = 26; //éteint le chauffage à cette température
    int moon_on_time = 1428;  //allume les  moon lights à cette heure (en temps_perso)
    int moon_off_time = 2150;  //éteint les moon lights à cette heure (en temps_perso)

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
   {
    /* RTC.stop();
    RTC.set(DS1307_SEC,00); //réglage secondes
    RTC.set(DS1307_MIN,59); //réglage minutes
    RTC.set(DS1307_HR,15); //réglage heures
    RTC.set(DS1307_DOW,6); //réglage jour de la semaine
    RTC.set(DS1307_DATE,11); //réglage date
    RTC.set(DS1307_MTH,12); //réglage mois
    RTC.set(DS1307_YR,10); //réglage année
    RTC.start();
    */
    }
   
    Serial.begin(9600);
    mySwitch.enableTransmit(6);  // la pin de connexion de mon émetteur
    mySwitch.setProtocol(1); // le protocol (cf screenshot ci dessus, que je mets donc à 1)
    mySwitch.setRepeatTransmit(2); // nombre de répétitions du signal histoire d'être sur que la prise recevra le signal
   
    lcd.begin(16, 2);
    lcd.print("MasterBalby 2.1");
    lcd.setCursor(0, 1) ;
    lcd.print("Gestion Aqua");
    delay(1700);
    lcd.clear();
    lcd.print(" initialisation");
    delay(1700);
    lcd.clear();
    Wire.begin();
    RTC.begin();
    pinMode(moon_light, OUTPUT);  // digital pin pour moon light en sortie

//Récupérer l heure du DS1307 ********************************************************************
  if (! RTC.isrunning())
    {
        Serial.println("RTC is NOT running!");
        // following line sets the RTC to the date & time this sketch was compiled
        //RTC.adjust(DateTime(DATE, TIME));
    }
}
   
void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
       {   
           lcd.print ("0"); 
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
       {   
           lcd.print ("0"); 
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');
   }
   
//Affichage température***************************************************************************

void displayTemperature(int temp)
{
    lcd.setCursor(8, 0);
    lcd.print("Temp:");
    lcd.print(temp);
    lcd.println("C");
    lcd.print(' ');
    delay(1000);
}

void loop() {
   
    //Récupérer la température du LM35 ***********************************************************

int reading = analogRead(sensorPin);
    float voltage = reading * 5.0 / 1024;
    int temp = voltage * 100 ;

//Affichage temps*****************************************************************************
    displayTime(RTC.now());
   
    //Affichage température***********************************************************************
    displayTemperature(temp);
   
 
   //programation relais**************************************************************************
  if(moon_on_time < temps_perso)
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }

if(moon_on_time > temps_perso)
  {
    digitalWrite(moon_light, HIGH);
    }
  else{
    digitalWrite(moon_light, LOW);
      }   
}

bonjour
déjà
pourquoi tu inclu plusieurs fois les memes biblio ?
ça ne vient peut etre pas de là, mais ça n'aide pas à la clarté du code :grin:

if(moon_on_time < temps_perso)
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }


  if(moon_on_time > temps_perso)
  {
    digitalWrite(moon_light, HIGH);
    }
  else{
    digitalWrite(moon_light, LOW);
      }    
}

tu n'as pas l'impression de faire deux fois la même chose? surtout que du coup, la condition (moon_on_time == temps_perso) n'est plus très claire. enlève l'un de ces deux if, tu y verras plus clair.

temps_perso n'est pas initialisé, ni mis à jour.

Autrement la condition s'écrirait plutôt comme ça

if((temps_perso < moon_on_time < )||(temps_perso > moon_off_time))
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }

edit: correction parenthèse manquante

fdunews je debute je ne comprend pas ce que je doit faire

// telecommande aquarium  ( 5592323 )
// telecommande lumiere meuble tv ( on/off 1601921 )  gradateur (+ 1601924) (- 1601922 )  
// telecommande lumiere lit ( on/off 12612369 )  gradateur (+ 12612372) (- 12612370 )
// telecommande desodirisant couloir ( on/off 1864065 )  gradateur (+ 1864068) (- 1864066 )
 
/*
Arduino Masterbalby Controller
 Analog Pin 0 = Température Sensor
 
 Digital Pin 11 = LCD
 Digital Pin 11 = NULL
 Digital Pin 12 = LCD
 Digital Pin 7 = LCD
 Digital Pin 8 = LCD
 Digital Pin 9 = LCD
 Digital Pin 10 = LCD
 Digital Pin 8 = moon_light
 Digital Pin 11 = PWM day_light
 Digital Pin 16 = Bouton poussoir 1 day light
 Digital Pin 15 = Bouton poussoir 2 chauffage
 */
#include <stdio.h>
#include <stdlib.h>
#include <Wire.h> 
#include <RTClib.h>
#include <Time.h>
#include <LiquidCrystal.h>
#include <WProgram.h>
#include <DS1307.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
RTC_DS1307 RTC;

/*
Arduino Masterbalby Controller

Analog Pin 0 = Température Sensor

Digital Pin 6 = // la pin de connexion de mon emmeteur 433 mhz

Digital Pin 11 = LCD
Digital Pin 12 = LCD
Digital Pin 5 = LCD
Digital Pin 3 = LCD
Digital Pin 2 = LCD
Digital Pin 3 = // la pin de connexion de mon émetteur

Branchement du module RTC DS1307
- DS1307 -> Arduino
- SDA -> Pin A4
- SCL -> Pin A5
- GND -> GND
- VCC+ -> +5V
*/
int minut;
int heure; 
int seconde;
int date;
int mois;
int annee; 
int temps_perso;
int sensorPin = 0;
int moon_light = 8;
int days_light = 7;
int pwm = 18;
int heater_on_temp = 24;  //allume chauffage à cette température
int heater_off_temp = 26; //éteint le chauffage à cette température
int moon_on_time = 2150;  //allume les  moon lights à cette heure (en temps_perso)
int moon_off_time = 2150;  //éteint les moon lights à cette heure (en temps_perso)


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
   {
    /* RTC.stop();
    RTC.set(DS1307_SEC,00); //réglage secondes
    RTC.set(DS1307_MIN,59); //réglage minutes
    RTC.set(DS1307_HR,15); //réglage heures
    RTC.set(DS1307_DOW,6); //réglage jour de la semaine
    RTC.set(DS1307_DATE,11); //réglage date
    RTC.set(DS1307_MTH,12); //réglage mois
    RTC.set(DS1307_YR,10); //réglage année
    RTC.start();
    */ 
    }
   
    Serial.begin(9600);
    mySwitch.enableTransmit(6);  // la pin de connexion de mon émetteur
    mySwitch.setProtocol(1); // le protocol (cf screenshot ci dessus, que je mets donc à 1)
    mySwitch.setRepeatTransmit(2); // nombre de répétitions du signal histoire d'être sur que la prise recevra le signal
   
    lcd.begin(16, 2);
    lcd.print("MasterBalby 2.1");
    lcd.setCursor(0, 1) ;
    lcd.print("Gestion Aqua");
    delay(1700);
    lcd.clear(); 
    lcd.print(" initialisation");
    delay(1700);
    lcd.clear();
    Wire.begin();
    RTC.begin();
    pinMode(moon_light, OUTPUT);  // digital pin pour moon light en sortie
  

//Récupérer l heure du DS1307 ********************************************************************
  if (! RTC.isrunning())
    {
        Serial.println("RTC is NOT running!");
        // following line sets the RTC to the date & time this sketch was compiled
        //RTC.adjust(DateTime(__DATE__, __TIME__));
    }
}
   
void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');
   }
   
//Affichage température***************************************************************************

void displayTemperature(int temp)
{
    lcd.setCursor(8, 0);
    lcd.print("Temp:");
    lcd.print(temp);
    lcd.println("C");
    lcd.print(' ');
    delay(1000);
}





void loop() {
    
    //Récupérer la température du LM35 ***********************************************************

    int reading = analogRead(sensorPin);
    float voltage = reading * 5.0 / 1024;
    int temp = voltage * 100 ;
 
    //Affichage temps*****************************************************************************
    displayTime(RTC.now());
    
    //Affichage température***********************************************************************
    displayTemperature(temp);
    
  
   //programation relais**************************************************************************
  if(moon_on_time < temps_perso)
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }

}

fdunews je debute je ne comprend pas ce que je doit faire

Tu as créé une variable temps_perso et tu ne mets jamais de valeur dedans donc ta comparaison ne peut pas fonctionner.

en gros je cherche a ce que mon relais s enclenche a partir des heure reglee dans

int moon_on_time = 2150; //allume les moon lights à cette heure (en temps_perso)
int moon_off_time = 2150; //éteint les moon lights à cette heure (en temps_perso)

que si je change cette valeur le reste suit mais comment cree cet variable

moijerem:
fdunews je debute je ne comprend pas ce que je doit faire

Aller a cette adresse et lire le tuto pour commencer ....

http://www.siteduzero.com/informatique/tutoriels/programmez-avec-le-langage-c

comment faire int temps_perso: ( et que le je déclare l heure en temps réelle de l horloge )

moijerem:
comment faire int temps_perso: ( et que le je déclare l heure en temps réelle de l horloge )

Si tu ne sais pas quoi faire avec, pourquoi as-tu crées cette variable temps_perso??

La fonction displayTime() est appellée à chaque passage dans la boucle donc, tu pourrais faire ça par exemple:

void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');

    temps_perso = dateTime.hour()*100 + dateTime.minute();   // Mise à jour de temps_perso
   }

Il faut aussi changer le test sur l'heure comme je l'avais indiqué.

j ai fait comme ceci sa ne fonctionne pas :confused:

// telecommande aquarium  ( 5592323 )
// telecommande lumiere meuble tv ( on/off 1601921 )  gradateur (+ 1601924) (- 1601922 )  
// telecommande lumiere lit ( on/off 12612369 )  gradateur (+ 12612372) (- 12612370 )
// telecommande desodirisant couloir ( on/off 1864065 )  gradateur (+ 1864068) (- 1864066 )
 
/*
Arduino Masterbalby Controller
 Analog Pin 0 = Température Sensor
 
 Digital Pin 11 = LCD
 Digital Pin 11 = NULL
 Digital Pin 12 = LCD
 Digital Pin 7 = LCD
 Digital Pin 8 = LCD
 Digital Pin 9 = LCD
 Digital Pin 10 = LCD
 Digital Pin 8 = moon_light
 Digital Pin 11 = PWM day_light
 Digital Pin 16 = Bouton poussoir 1 day light
 Digital Pin 15 = Bouton poussoir 2 chauffage
 */
#include <stdio.h>
#include <stdlib.h>
#include <Wire.h> 
#include <RTClib.h>
#include <Time.h>
#include <LiquidCrystal.h>
#include <WProgram.h>
#include <DS1307.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
RTC_DS1307 RTC;

/*
Arduino Masterbalby Controller

Analog Pin 0 = Température Sensor

Digital Pin 6 = // la pin de connexion de mon emmeteur 433 mhz

Digital Pin 11 = LCD
Digital Pin 12 = LCD
Digital Pin 5 = LCD
Digital Pin 3 = LCD
Digital Pin 2 = LCD
Digital Pin 3 = // la pin de connexion de mon émetteur

Branchement du module RTC DS1307
- DS1307 -> Arduino
- SDA -> Pin A4
- SCL -> Pin A5
- GND -> GND
- VCC+ -> +5V
*/
int minut;
int heure; 
int seconde;
int date;
int mois;
int annee; 
int temps_reel;
int sensorPin = 0;
int moon_light = 8;
int days_light = 7;
int pwm = 18;
int heater_on_temp = 24;  //allume chauffage à cette température
int heater_off_temp = 26; //éteint le chauffage à cette température
int moon_on_time = 0750;  //allume les  moon lights à cette heure (en temps_perso)
int moon_off_time = 2200;  //éteint les moon lights à cette heure (en temps_perso)



LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
   {
    /* RTC.stop();
    RTC.set(DS1307_SEC,00); //réglage secondes
    RTC.set(DS1307_MIN,59); //réglage minutes
    RTC.set(DS1307_HR,15); //réglage heures
    RTC.set(DS1307_DOW,6); //réglage jour de la semaine
    RTC.set(DS1307_DATE,11); //réglage date
    RTC.set(DS1307_MTH,12); //réglage mois
    RTC.set(DS1307_YR,10); //réglage année
    RTC.start();
    */ 
    }
   
    Serial.begin(9600);
    mySwitch.enableTransmit(6);  // la pin de connexion de mon émetteur
    mySwitch.setProtocol(1); // le protocol (cf screenshot ci dessus, que je mets donc à 1)
    mySwitch.setRepeatTransmit(2); // nombre de répétitions du signal histoire d'être sur que la prise recevra le signal
   
    lcd.begin(16, 2);
    lcd.print("MasterBalby 2.1");
    lcd.setCursor(0, 1) ;
    lcd.print("Gestion Aqua");
    delay(1700);
    lcd.clear(); 
    lcd.print(" initialisation");
    delay(1700);
    lcd.clear();
    Wire.begin();
    RTC.begin();
    pinMode(moon_light, OUTPUT);  // digital pin pour moon light en sortie
    Serial.println("Start program");

//Récupérer l heure du DS1307 ********************************************************************
  if (! RTC.isrunning())
    {
        Serial.println("RTC is NOT running!");
        // following line sets the RTC to the date & time this sketch was compiled
        //RTC.adjust(DateTime(__DATE__, __TIME__));
    }
}
   
void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
     if (dateTime.hour() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');
  temps_perso = dateTime.hour()*100 + dateTime.minute();   // Mise à jour de temps_perso 
 }
   
//Affichage température***************************************************************************

void displayTemperature(int temp)
{
    lcd.setCursor(8, 0);
    lcd.print("Temp:");
    lcd.print(temp);
    lcd.println("C");
    lcd.print(' ');
    delay(1000);
}





void loop() {
    
    //Récupérer la température du LM35 ***********************************************************

    int reading = analogRead(sensorPin);
    float voltage = reading * 5.0 / 1024;
    int temp = voltage * 100 ;
 
    //Affichage temps*****************************************************************************
    displayTime(RTC.now());
    
    //Affichage température***********************************************************************
    displayTemperature(temp);
    
  
   //programation relais**************************************************************************

  if(moon_on_time < temps_reel)
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }

}

Qu'est-ce qui ne marche pas?
Que se passe-t-il?

Tu n'as fait que la moitié des modifications relis mon dernier post

oui mes je ne c pas ce que tu veut me dire par sa "Il faut aussi changer le test sur l'heure comme je l'avais indiqué."

moijerem:
oui mes je ne c pas ce que tu veut me dire par sa "Il faut aussi changer le test sur l'heure comme je l'avais indiqué."

Voir là ==>besoin d un petit coup de main pour un if - #4 by fdufnews - Français - Arduino Forum

Sa ne fonctionne toujour pas /:

// telecommande aquarium  ( 5592323 )
// telecommande lumiere meuble tv ( on/off 1601921 )  gradateur (+ 1601924) (- 1601922 )  
// telecommande lumiere lit ( on/off 12612369 )  gradateur (+ 12612372) (- 12612370 )
// telecommande desodirisant couloir ( on/off 1864065 )  gradateur (+ 1864068) (- 1864066 )
 
/*
Arduino Masterbalby Controller
 Analog Pin 0 = Température Sensor
 
 Digital Pin 11 = LCD
 Digital Pin 11 = NULL
 Digital Pin 12 = LCD
 Digital Pin 7 = LCD
 Digital Pin 8 = LCD
 Digital Pin 9 = LCD
 Digital Pin 10 = LCD
 Digital Pin 8 = moon_light
 Digital Pin 11 = PWM day_light
 Digital Pin 16 = Bouton poussoir 1 day light
 Digital Pin 15 = Bouton poussoir 2 chauffage
 */
#include <stdio.h>
#include <stdlib.h>
#include <Wire.h> 
#include <RTClib.h>
#include <Time.h>
#include <LiquidCrystal.h>
#include <WProgram.h>
#include <DS1307.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
RTC_DS1307 RTC;

/*
Arduino Masterbalby Controller

Analog Pin 0 = Température Sensor

Digital Pin 6 = // la pin de connexion de mon emmeteur 433 mhz

Digital Pin 11 = LCD
Digital Pin 12 = LCD
Digital Pin 5 = LCD
Digital Pin 3 = LCD
Digital Pin 2 = LCD
Digital Pin 3 = // la pin de connexion de mon émetteur

Branchement du module RTC DS1307
- DS1307 -> Arduino
- SDA -> Pin A4
- SCL -> Pin A5
- GND -> GND
- VCC+ -> +5V
*/
int minut;
int heure; 
int seconde;
int date;
int mois;
int annee; 
int temps_reel;
int sensorPin = 0;
int moon_light = 8;
int days_light = 7;
int pwm = 18;
int heater_on_temp = 24;  //allume chauffage à cette température
int heater_off_temp = 26; //éteint le chauffage à cette température
int moon_on_time = 0750;  //allume les  moon lights à cette heure (en temps_perso)
int moon_off_time = 2200;  //éteint les moon lights à cette heure (en temps_perso)



LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
   {
    /* RTC.stop();
    RTC.set(DS1307_SEC,00); //réglage secondes
    RTC.set(DS1307_MIN,59); //réglage minutes
    RTC.set(DS1307_HR,15); //réglage heures
    RTC.set(DS1307_DOW,6); //réglage jour de la semaine
    RTC.set(DS1307_DATE,11); //réglage date
    RTC.set(DS1307_MTH,12); //réglage mois
    RTC.set(DS1307_YR,10); //réglage année
    RTC.start();
    */ 
    }
   
    Serial.begin(9600);
    mySwitch.enableTransmit(6);  // la pin de connexion de mon émetteur
    mySwitch.setProtocol(1); // le protocol (cf screenshot ci dessus, que je mets donc à 1)
    mySwitch.setRepeatTransmit(2); // nombre de répétitions du signal histoire d'être sur que la prise recevra le signal
   
    lcd.begin(16, 2);
    lcd.print("MasterBalby 2.1");
    lcd.setCursor(0, 1) ;
    lcd.print("Gestion Aqua");
    delay(1700);
    lcd.clear(); 
    lcd.print(" initialisation");
    delay(1700);
    lcd.clear();
    Wire.begin();
    RTC.begin();
    pinMode(moon_light, OUTPUT);  // digital pin pour moon light en sortie
    Serial.println("Start program");

//Récupérer l heure du DS1307 ********************************************************************
  if (! RTC.isrunning())
    {
        Serial.println("RTC is NOT running!");
        // following line sets the RTC to the date & time this sketch was compiled
        //RTC.adjust(DateTime(__DATE__, __TIME__));
    }
}
   
void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
     if (dateTime.hour() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
       {    
           lcd.print ("0");  
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');
  temps_perso = dateTime.hour()*100 + dateTime.minute();   // Mise à jour de temps_perso 
 }
   
//Affichage température***************************************************************************

void displayTemperature(int temp)
{
    lcd.setCursor(8, 0);
    lcd.print("Temp:");
    lcd.print(temp);
    lcd.println("C");
    lcd.print(' ');
    delay(1000);
}





void loop() {
    
    //Récupérer la température du LM35 ***********************************************************

    int reading = analogRead(sensorPin);
    float voltage = reading * 5.0 / 1024;
    int temp = voltage * 100 ;
 
    //Affichage temps*****************************************************************************
    displayTime(RTC.now());
    
    //Affichage température***********************************************************************
    displayTemperature(temp);
    
  
   //programation relais**************************************************************************

 if((temps_perso < moon_on_time < )||(temps_perso > moon_off_time))
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }
}

:confused:

Ici

moijerem:
Sa ne fonctionne toujour pas /:

// telecommande aquarium  ( 5592323 )

// telecommande lumiere meuble tv ( on/off 1601921 )  gradateur (+ 1601924) (- 1601922 ) 
// telecommande lumiere lit ( on/off 12612369 )  gradateur (+ 12612372) (- 12612370 )
// telecommande desodirisant couloir ( on/off 1864065 )  gradateur (+ 1864068) (- 1864066 )

/*
Arduino Masterbalby Controller
Analog Pin 0 = Température Sensor

Digital Pin 11 = LCD
Digital Pin 11 = NULL
Digital Pin 12 = LCD
Digital Pin 7 = LCD
Digital Pin 8 = LCD
Digital Pin 9 = LCD
Digital Pin 10 = LCD
Digital Pin 8 = moon_light
Digital Pin 11 = PWM day_light
Digital Pin 16 = Bouton poussoir 1 day light
Digital Pin 15 = Bouton poussoir 2 chauffage
*/
#include <stdio.h>
#include <stdlib.h>
#include <Wire.h>
#include <RTClib.h>
#include <Time.h>
#include <LiquidCrystal.h>
#include <WProgram.h>
#include <DS1307.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
RTC_DS1307 RTC;

/*
Arduino Masterbalby Controller

Analog Pin 0 = Température Sensor

Digital Pin 6 = // la pin de connexion de mon emmeteur 433 mhz

Digital Pin 11 = LCD
Digital Pin 12 = LCD
Digital Pin 5 = LCD
Digital Pin 3 = LCD
Digital Pin 2 = LCD
Digital Pin 3 = // la pin de connexion de mon émetteur

Branchement du module RTC DS1307

  • DS1307 -> Arduino
  • SDA -> Pin A4
  • SCL -> Pin A5
  • GND -> GND
  • VCC+ -> +5V
    */
    int minut;
    int heure;
    int seconde;
    int date;
    int mois;
    int annee;
    int temps_reel; 
    int sensorPin = 0;
    int moon_light = 8;
    int days_light = 7;
    int pwm = 18;
    int heater_on_temp = 24;  //allume chauffage à cette température
    int heater_off_temp = 26; //éteint le chauffage à cette température
    int moon_on_time = 0750;  //allume les  moon lights à cette heure (en temps_perso)
    int moon_off_time = 2200;  //éteint les moon lights à cette heure (en temps_perso)

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  {
    /* RTC.stop();
    RTC.set(DS1307_SEC,00); //réglage secondes
    RTC.set(DS1307_MIN,59); //réglage minutes
    RTC.set(DS1307_HR,15); //réglage heures
    RTC.set(DS1307_DOW,6); //réglage jour de la semaine
    RTC.set(DS1307_DATE,11); //réglage date
    RTC.set(DS1307_MTH,12); //réglage mois
    RTC.set(DS1307_YR,10); //réglage année
    RTC.start();
    */
    }
 
    Serial.begin(9600);
    mySwitch.enableTransmit(6);  // la pin de connexion de mon émetteur
    mySwitch.setProtocol(1); // le protocol (cf screenshot ci dessus, que je mets donc à 1)
    mySwitch.setRepeatTransmit(2); // nombre de répétitions du signal histoire d'être sur que la prise recevra le signal
 
    lcd.begin(16, 2);
    lcd.print("MasterBalby 2.1");
    lcd.setCursor(0, 1) ;
    lcd.print("Gestion Aqua");
    delay(1700);
    lcd.clear();
    lcd.print(" initialisation");
    delay(1700);
    lcd.clear();
    Wire.begin();
    RTC.begin();
    pinMode(moon_light, OUTPUT);  // digital pin pour moon light en sortie
    Serial.println("Start program");

//Récupérer l heure du DS1307 ********************************************************************
  if (! RTC.isrunning())
    {
        Serial.println("RTC is NOT running!");
        // following line sets the RTC to the date & time this sketch was compiled
        //RTC.adjust(DateTime(DATE, TIME));
    }
}
 
void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
    if (dateTime.hour() <= 9) // Si les second sont inferieur a 10
      {   
          lcd.print ("0"); 
        }
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
      {   
          lcd.print ("0"); 
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
      {   
          lcd.print ("0"); 
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');
  temps_perso = dateTime.hour()100 + dateTime.minute();  // Mise à jour de temps_perso
}
 
//Affichage température
**************************************************************************

void displayTemperature(int temp)
{
    lcd.setCursor(8, 0);
    lcd.print("Temp:");
    lcd.print(temp);
    lcd.println("C");
    lcd.print(' ');
    delay(1000);
}

void loop() {
   
    //Récupérer la température du LM35 ***********************************************************

int reading = analogRead(sensorPin);
    float voltage = reading * 5.0 / 1024;
    int temp = voltage * 100 ;

//Affichage temps*****************************************************************************
    displayTime(RTC.now());
   
    //Affichage température***********************************************************************
    displayTemperature(temp);
   
 
  //programation relais**************************************************************************

if((temps_perso < moon_on_time < )||(temps_perso > moon_off_time))
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }
}





:/

Faudrait quand même réfléchir un peu.
Si tu changes le nom des variables entre 2 versions on ne va jamais y arriver.
Maintenant tu déclares une variable qui s'appelle temps-reel au lieu de temps_perso.
Faut choisir temps-reel ou temps_perso mais faut changer le nom partout