il ne m’affiche pas l’heure car il affiche d’abord la partie texte , je voudrais savoir le moyen de faire afficher l’heure et le texte en même temps. Comment faire ?
Si il affiche l'heure. C'est même la première chose qu'il fait en entrant dans loop(). Seulement après, tu attends un peu plus de 4 minutes avant de changer l'heure.
Est-ce vraiment ça que tu veux faire?
C'est sa , il m'affiche 16h30 puis je passe à 16h34 au bout de 4 min.
Ce que moi je veut c'est voir défiler l'heure avec les secondes c'est à dire 16:30:01 ,, 16:30:02 etc...
j'ai remplacer les delay() par des millis() et il y a quelques choses qui ne va pas, voila ce qu'Arduino m'affiche ;
programme_final.ino: In function 'void loop()':
programme_final:21: error: expected unqualified-id before '.' token
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h:105: error: too many arguments to function 'long unsigned int millis()'
programme_final:26: error: at this point in file
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h:105: error: too many arguments to function 'long unsigned int millis()'
programme_final:29: error: at this point in file
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h:105: error: too many arguments to function 'long unsigned int millis()'
programme_final:34: error: at this point in file
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h: In function 'void printTime()':
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h:105: error: too many arguments to function 'long unsigned int millis()'
programme_final:48: error: at this point in file
Utiliser millis() à la place de delay(), ce n'est pas simplement remplacer du texte. C'est faire une programmation qui modifie la structure du code.
Il te faut d'abord comprendre que delay bloque l'avancement du programme : si tu mets un delay(4000), le code ne fera rien pendant 4 secondes puis reprendra son exécution juste après cette instruction. On parle de 'code bloquant'.
Pour faire un code non bloquant, il faut modifier sa structure : la fonction millis() fournit le nombre de millisecondes passées depuis lancement du programme. Pour l'utiliser, il faut soit réfléchir un bon coup (!) soit s'inspirer d'exemples ou de tutos qu'on trouve un peu partout.
Un exemple : blink without delay. Il montre la manière d'utiliser millis() mais explique mal pourquoi...
millis() n'est pas l'équivalent de delay(). millis() ne prend pas d'arguments, mais retourne le nombre de millisecondes écoulées depuis le démarrage.
Il faut que tu fasses un mini automate.
Suivant le type d'affichage, tu fais tel ou tel affichage, tu affiches l'heure et quand millis() a atteint la valeur mémorisée au début d'affichage plus la durée tu changes d’affichage.
J'ai utiliser un programme pour scanner ce qu'il y a sur la base shield et effectivement il ne capter pas ma rtc , alors j'ai voulu enlever la pile et la remettre sauf qu'il ma détecter la rtc après avoir enlever la pile.
Donc cette fois l'heure tourne correctement mais le texte reste fixer .... (Il n'y a plus de pile je l'ai enlever).
est ce que c'est possible quand possible de finaliser ce programme sans pile?
Tu testes avec un exemple fourni dans la librairie
Si ça ne fonctionne pas tu vérifies le cablage
Tu retestes
Si ça ne fonctionne pas tu revérifies le cablage
Tu reretestes
Si ça ne fonctionne pas tu rerevérifies le cablage
Si ça ne fonctionne toujours pas tu essaies sans la pile
Si vraiment ça ne fonctionne pas tu peux en acheter un autre, mais ne prends pas un ds1307 mais un ds3231 beaucoup plus précis.
Oups je n'avais pas vu ton dernier message
Oui, il est possible de mettre ton programme au point sans pile, mais tu perdras l'heure si tu coupes le courant.
Le problème c'est que j'ai un budget limité et j'ai atteint la limite . Sinon on m'avais aussi proposer une ds3231 mais finalement j'ai du récupérer la ds1307 que j'ai emprunter sans rien payer...
C'est super bizarre car avec la pile il ne me détecte pas du tout la RTC donc je vais faire sans , ce n'est pas problématique pour moi de faire sans.
Donc si le texte reste fixer c'est pas une erreur dans le programme?
Est-ce que quelque chose s'affiche sur la console ?
Si oui, c'est que le problème vient de la RTC. S'il n'y a pas de pile, elle ne met pas l'heure à jour.