voici le code de la page generale
#include <Servo.h>
/*****************************************************************************************************************
Librairie
*****************************************************************************************************************/
#include <Wire.h>
#include <RTClib.h>
#include <Servo.h>//include <SoftwareServo.h>
#include <LiquidCrystal.h>
#include <OneWire.h> // Inclusion de la librairie OneWire
/*****************************************************************************************************************
Variables Temperature ( Chauffage + ventilation )
*****************************************************************************************************************/
//const int chauffage = A1; // pour futur systeme de ventilation et coupure chauffage
const int consigne_temp_max_aqua = 27.0; // 27°
const int consigne_temp_min_aqua = 22.0; //22°
const int delta_t = 1.00;
const int DS18S20_Pin = 6; //DS18S20
OneWire ds(DS18S20_Pin);
float temperature;
boolean ventilation_statut;
/*****************************************************************************************************************
Variables Horloge
*****************************************************************************************************************/
RTC_DS1307 RTC; //Classe RTC_DS1307
int hour;
int minute;
int second;
int day;
int month;
int year;
/*****************************************************************************************************************
Variables Ecran LCD
*****************************************************************************************************************/
LiquidCrystal lcd(13,11,5,4,3,2);
const int retroeclairage_lcd = A3;
int heure_depart_retroeclairage_lcd = 7;
int heure_fin_retroeclairage_lcd = 23;
// Definition du caractere °
byte degrees[8] = {
B01100,
B10010,
B10010,
B01100,
B00000,
B00000,
B00000,
B00000,
}; // byte degrees
/*****************************************************************************************************************
Variables Nourriture
*****************************************************************************************************************/
const int heure_nourriture = 17;
const int minute_depart_nourriture = 0;
const int minute_fin_nourriture = 30;
boolean nourriture_statut;
/*****************************************************************************************************************
Variables Servomoteur pour serringues ( EASY CARBO ) tous les jours à 8:00:00 jusquà 8:00:15
*****************************************************************************************************************/
Servo seringue1; // easy carbo
const int pin_seringue_1 = 10;
const int angle_max=160; //valeur en degré pour reglage fin servomoteur
const int angle_min=10; //valeur en degré pour reglage fin servomoteur
const int heure_seringue= 19;
const int minute_seringue = 1;
const int seconde_depart_seringue = 0; // 0 seconde et non 00
const int seconde_fin_seringue = 15;
boolean easycarbo_statut;
/*****************************************************************************************************************
Variables Capteurs Niveau + Pompes
*****************************************************************************************************************/
const int niveau_max = 8; // flotteur niveau max contact ouvert quand eau au max
const int niveau_min = 9; // flotteur niveau min contact ouvert quand eau au min
const int bp_vidange = A0;
boolean niveau_max_statut = true; //etat repos = true
boolean niveau_min_statut = true; //etat repos = true
boolean bp_vidange_statut = true; //etat repos = true
const int pompe_vidange = 12;
const int pompe_remplissage = 7;
const int pompe_filtration = A2;
boolean pompe_vidange_statut = true; // etat repos = true
boolean pompe_remplissage_statut = true; // etat repos = true
/*****************************************************************************************************************
Variables Eclairage
*****************************************************************************************************************/
const int eclairage = A1;
const int heure_depart_eclairage = 12;
const int heure_fin_eclairage = 22;
boolean eclairage_statut;
void setup(void) {
/*****************************************************************************************************************
Setup Capteurs Niveau + Pompes
*****************************************************************************************************************/
//capteurs niveau + pompes ///////////////////////////////////////////////////////////////////////////////////
pinMode(niveau_max, INPUT);
pinMode(niveau_min, INPUT);
pinMode(pompe_vidange, OUTPUT); //relais 1
pinMode(pompe_remplissage, OUTPUT); //relais 2
pinMode(pompe_filtration, OUTPUT); // relais 3
digitalWrite(pompe_vidange,HIGH); // attention est HIGH a l'etat repos
digitalWrite(pompe_remplissage,HIGH); // attention est HIGH a l'etat repos
digitalWrite(pompe_filtration,HIGH); // attention est HIGH a l'etat repos
/*****************************************************************************************************************
Setup Ecran LCD
*****************************************************************************************************************/
pinMode (retroeclairage_lcd, OUTPUT);
lcd.begin(16,2);
digitalWrite(retroeclairage_lcd, HIGH);
lcd.setCursor(1,0);
lcd.print ("AQUADUINO V1.0");
lcd.setCursor(4,1);
lcd.print ("by Xave");
delay (5000);
lcd.clear();
/*lcd.setCursor(0,0);
lcd.print ("Nom du programme:");
lcd.setCursor(0,1);
lcd.print ("Flotteur V13");
delay (4000);
lcd.clear();*/
lcd.noDisplay();
digitalWrite(retroeclairage_lcd, LOW);
// initialiser le caractère ° dans le LCD
lcd.createChar( 0, degrees );
/*****************************************************************************************************************
Setup Horloge
*****************************************************************************************************************/
Serial.begin(57600); //Démarrage de la communication
Wire.begin(); //Démarrage de la librairie wire.h
RTC.begin(); //Démarrage de la librairie RTClib.h
//Si RTC ne fonctionne pas
if (! RTC.isrunning()) {
Serial.println("RTC ne fonctionne pas !");}
//Met à l'heure à date à laquelle le sketch est compilé
RTC.adjust(DateTime(__DATE__, __TIME__));
/*****************************************************************************************************************
Setup Servomoteur pour serringues ( EASY CARBO )
*****************************************************************************************************************/
seringue1.attach(pin_seringue_1);
seringue1.write(angle_min);
//seringue1.detach(pin_seringue_1);
/*****************************************************************************************************************
Setup Temperature ( Chauffage + ventilation )
*****************************************************************************************************************/
/*pinMode(chauffage, OUTPUT); // relais 4
digitalWrite(chauffage,HIGH); // attention est HIGH a l'etat repos
*/
/*****************************************************************************************************************
Setup Eclairage
*****************************************************************************************************************/
pinMode(eclairage, OUTPUT); // relais 4
digitalWrite(eclairage,HIGH); // attention est HIGH a l'etat repos
} // void setup
void loop(void) {
Horloge();
Niveau_Aqua_Pompes();
Lcd_Serial();
Eclairage();
Nourriture();
EasyCarbo();
Chauffage_Ventilation();
//seringue1.detach(pin_seringue_1);
} // void loop
voici maintenant le code pour le servo
/*****************************************************************************************************************
Loop Servomoteur pour serringues ( EASY CARBO )
*****************************************************************************************************************/
void EasyCarbo(){
if( hour == heure_seringue && minute == minute_seringue && second >= seconde_depart_seringue && second < seconde_fin_seringue) {
//seringue1.attach(pin_seringue_1);
seringue1.write(angle_max);
easycarbo_statut = true;
}else{
seringue1.write(angle_min);
easycarbo_statut = false;}//delay(5000);
//seringue1.detach();
} // void EasyCarbo
en esperant que j'ai fait mon programme correctement 
merci d'avance
Aquaduino_V1.0.ino (7.59 KB)
EasyCarbo.ino (675 Bytes)