prioriser les messages Arduino

Bonjour ,
Dans le cadre d'un projet , je dois réaliser un. code afin de prioriser les messages d'un fichier . Il me faut , quand je lit le contenu d'un fichier dans l'Arduino , sur le moniteur série , prioriser les messages . Par exemple :

Date;Heure;Message
15/01/20;8h00;Reveil
;8h30;Dejeuner
;8h50;Se laver les dents
;10h00;Récuperer le journal
;11h00;Allez faire les courses
;11h30;Preparer le repas
;14h00;Prendre un comprimé et un antibiotique
;16h05;Faire le menage
;18h00;Sortir le chien
;19h30;Preparer le diner
;20h50;Prendre les comprimés du soir
;21h15;Aller se coucher

Ici , mon role est d'afficher un seul message à la fois , et dans le meme fichier .
Plus tard sera connecté une horloge RTC , pour justement , lorsqu'il est 8h50 , sera affiché : Se laver les dents , et à 10h00 : récupérer le journal . et ainsi de suite .
Avez vous une idée ?
Merci beaucoup d'avance

En partant de ce sujet analogue ici : https://forum.arduino.cc/index.php?topic=669411.0

Il suffirait de lire chaque ligne du fichier et de placer les informations dans un tableau de structures. Ensuite dans la loop(), parcourir la liste régulièrement :

#include <RTClib.h>

#define CALENDAR_SIZE     10  // SIZE à ajuster

struct calendar
{
  DateTime at;
  const char *message;
};

struct calendar myCalendar[CALENDAR_SIZE];

RTC_DS3231 rtc;

void setup()
{
  Serial.begin(115200);
  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
  if (rtc.lostPower()) {
    Serial.println("RTC lost power, lets set the time!");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    Serial.println(__DATE__);
    Serial.println(__TIME__);
  }
  // LIRE CONTENU SD dans myCalendar
}

unsigned long lastSec;

void loop()
{
  DateTime now = rtc.now();;
  if (lastSec != now.second()) {
    lastSec = now.second();
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.println(now.second(), DEC);
    for (int i = 0 ; i < CALENDAR_SIZE ; i++) {
      if (myCalendar[i].at == now) {
        Serial.println(myCalendar[i].message);
      }
    }
  }
}

Juste un brouillon non testé.
J’ai utilisé RTClib et un DS3231, mais rien n’empêche de faire cela avec une autre librairie.
La lecture SD est à faire.

Tu peux tester rapidement avec des données en dur :

struct calendar myCalendar[CALENDAR_SIZE] =
{
  DateTime(2020, 3, 11, 13, 16, 00), "Sieste",
  DateTime(2020, 3, 11, 13, 30, 00), "Café",
};