probleme fonctionnement servo

voilà, on avance
donc maintenant et toujours avec ce code, tu vas ajouter la lib rtc.
si ca fonctionne, tu vas ajouter la récupération heure, minute, seconde et date sur le sérial.

si ok, tu passe à l'affichage de chaque data sur le lcd, une par une.

Quand un code bug, on repart de zéro et on ajoute du code pour trouver ce qui bloque.

Au pire tu peux faire des modules que tu ajoute, si ca bug, tu commente et teste

#include <Servo.h>
#include <LiquidCrystal.h>


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

int pos = 0;    // variable to store the servo position
const int relais=7;//pin7 pour le controle du relai



void setup() {
  myservo.attach(8);  // attaches the servo on pin 8 to the servo object
  lcd.begin(20, 2); //nombre de lignes et de colonnes du LCD
  pinMode (relais, OUTPUT);
}
void loop() {
 
 bougeservo();
 active_relais();


}

void bougeservo(){
 for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}

void active_relais(){
  digitalWrite (relais,HIGH);
 lcd.setCursor(0,1);
  lcd.print("OSCILLO OFF");
delay(5000);
  digitalWrite (relais,LOW);
 lcd.setCursor(0,1);
  lcd.print("OSCILLO ON"); 

}

bonsoir, j'ai donc ajouter le code de la lib rtc
puis j'ai affiché l'heure pas de problème
puis j'ai affiché les minutes pas de problème
et j'ai ajouté les secondes et là elles s'affichent mais ne défilent pas en temps réel.
le servo moteur met environ 10 secondes à faire sa rotation de 0° à 180° et de 180° à 0°
en fin de cycle les secondes sont remises à jour puis se refigent.

ex: 19:31:10 le cycle du servo se fait, les secondes ne défilent pas, puis apparait 19:31:20 et ainsi de suite ...

#include <Servo.h>
#include <LiquidCrystal.h>
#include <Wire.h>
#include <RTClib.h>


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Servo myservo; 
RTC_DS1307 RTC;

int pos = 0;    // variable to store the servo position
const int relais=7;//pin7 pour le controle du relai



void setup() {
  
  myservo.attach(8);  // attaches the servo on pin 8 to the servo object
  lcd.begin(20, 2); //nombre de lignes et de colonnes du LCD
  pinMode (relais, OUTPUT);
  Wire.begin();
  RTC.begin();
}

void loop()

{
 
 bougeservo();
 active_relais();

  DateTime now = RTC.now();
  
  // l'heure sur la premiêre ligne du LCD
  lcd.setCursor(0, 0);
  lcd.print(now.hour());
   lcd.print(":");
  if (now.minute() < 10) {
    lcd.print("0");
  }
  lcd.print(now.minute());
   lcd.print(":");
  if (now.second() < 10) {
    lcd.print("0");
  }
  lcd.print(now.second());
 }


void bougeservo(){
 for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}

void active_relais(){
  digitalWrite (relais,HIGH);
 lcd.setCursor(0,1);
  lcd.print("OSCILLO OFF");
delay(5000);
  digitalWrite (relais,LOW);
 lcd.setCursor(0,1);
  lcd.print("OSCILLO ON"); 

}