DS1307 [RESOLU]

je peu lire, écrire et modifier puis relire et reécrire tous les registres (secondes 0x00, minutes 0x01... ainsi que la ram 0x08).

Bien on avance.
Il faudrait mettre tout les registres à 0. C'est à faire une seule fois.

Normalement l'oscillateur devrait se mettre en route. Si l'oscillateur est en route les bits des secondes, minutes etc devraient s'incrémenter. Tu devrais pouvoir le vérifier en faisant des opération de lectures à intervalle régulier.

Pour réaliser le programme qui va bien je te déconseille d'utiliser la librairie RTC quand cela ne va pas il faut aller au plus simple.

Je verrais bien l'architecture suivante : (attention c'est du principe ce n'est pas du code !!)

setup()
{
Wire.begin
Serial.begin
Ecrit_dans_les_registres
}

loop()
{
Lit_dans_les_registre ; // les registres 0 et 1 sont suffisants
Affiche_contenu_des__registres ; // Utiliser Serial.print(octet_lu, BIN) qui affiche sous forme binaire
delay(1000) ; // une mesure toutes les secondes
}

En te contentant de surveiller que les registres des secondes et des minutes tu simplifies au maximum.
Inutile de faire une conversion Décimal_codé_ Binaire en décimal la seule chose qui compte a ce stade c'est :
est-ce que les bits changent ou pas quand le temps s'écoule ?

S'ils ne changent pas il faudra arrêter l'acharnement thérapeutique.
S'ils changent ce sera encourageant et il sera possible d'aller plus loin.