Bonsoir � tous
M�me si j'ai acquis une premi�re exp�rience, surtout avec l'aide du pr�sent forum, je reste encore tr�s fragile et des questions probablement �l�mentaires me troublent encore.
�a commence ici:
https://www.developpez.net/forums/d2.../#post11697133
o� mon syst�me fonctionne, et, l'hiver pointant le bout de son nez, je suis amen� � commencer les programmations. L'�quipement tourne depuis plusieurs mois, et comme attendu, l'horloge se d�cale et avait hier plus d'un quart d'heure d'avance avec une RTC DS1307.
Apr�s recherches pour savoir comment je mettais � l'heure, j'ai retrouv� ce sketch, qui ne fait que �a (la remise � l'heure), avec une date/heure �crite en hard dans le listing.
Voulant rendre le sketch un peu plus pratique, et envisager d'introduire la fonction dans mon programme principal, j'ai essay� de compl�ter ce sketch par les fonctions d'affichage de mon programme principal pour les ajouter, et l�, rien � faire. J'ai des s�ries d'erreurs incompr�hensibles.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 /* ------------------------------------------------------------------ // MettreALheure.ino devrait finir avec toutes les fonctions 17 juin 2021 // provient de la version 02 globale // je veux ajouter de quoi mettre à l'heure et la date // pour exploiter le DS1307 en horloge et en RAM // Pour mise à l'heure, changer (actualiser) ligne 52 et lancer // Test_01_1307.ino 2 mai 2021 Lecture date/heure sur SD1307 --------------------------------------------------------------------- */ #include<Wire.h> #include <RTClib.h> // les guillemets pour placer la .lib dans le dossier .ino // variables globales int Annee ; int Mois ; int Jour ; int Heure ; int Minute ; int Seconde ; char octetLu ; RTC_DS1307 RTC ; // void printDateTime ( DateTime dateTime ) ; // affichage incertain et faux void setup () { // put your setup code here, to run once: Serial.begin ( 115200 ) ; Wire.begin () ; RTC.begin () ; } void loop () { // put your main code here, to run repeatedly: if ( Serial.available () > 0 ) { int instruct = Serial.read () ; switch (instruct) { case'D': { DateTime now = RTC.now () ; printDateTime(now); break; } case'S': { // RTC.set ( RTC_MONTH , 6 ) ; // juin // refuse le .set // RTC.set ( RTC_HOUR , 9 ) ; // 9 heures RTC.adjust ( DateTime ( 2021 , 10, 17 , 10 , 46 , 0 ) ) ; // chaîne de mise à l'heure // affiche le résultat DateTime now = RTC.now () ; printDateTime(now); break; } } } delay ( 5000 ) ; }
Pour garantir que mes fonctions d'affichage seront bien reconnues, je me suis lanc� dans l'op�ration inverse: partir du programme principal et n'y porter que les quelques fonctions, pour l'instant soumises � r�ponse � une frappe de clavier (le S), mais l� non plus la compilation se passe mal, et je ne parviens pas � aboutir.
Dans ce nouveau monde, les fonctions/variables utilisant les termes RTC set DateTime now ... sont refus�s comme non utilisables. Leur suppression totale finit par d�clarer le programme incompatible UNO. :-(
Or moi, ce que je voudrais, c'est partant de la date/heure pr�sente, cr�er des termes annee, jour, mois, heure, minute ajust�s en m�moire, et, sur validation par un poussoir, envoyer la s�quence avec ces termes � un �quivalent de la fonction RTC.adjust.
Avez-vous une id�e de ce que je fais mal?
�dit: comme j'ai modifi� mon programme principal jusqu'� supprimer tous d�fauts, mais sans relever les messages d'erreurs.
J'ai refait un premier jus et voici les erreurs:
C:\Users\Guy\Desktop\Mem_Arduino\Outils_de_gestion\Pour_MiseALheure\MettreALheure\MiseALheureInterne_V3\MiseALheureInterne_V3.ino: In function 'void loop()':
MiseALheureInterne_V3:221:26: error: 'RTC' was not declared in this scope
DateTime now = RTC.now () ;
^~~
MiseALheureInterne_V3:222:11: error: 'printDateTime' was not declared in this scope
printDateTime(now);
^~~~~~~~~~~~~
C:\Users\Guy\Desktop\Mem_Arduino\Outils_de_gestion\Pour_MiseALheure\MettreALheure\MiseALheureInterne_V3\MiseALheureInterne_V3.ino:222:11: note: suggested alternative: 'DateTime'
printDateTime(now);
^~~~~~~~~~~~~
DateTime
MiseALheureInterne_V3:230:10: error: 'RTC' was not declared in this scope
RTC.adjust ( DateTime ( 2021 , 10, 17 , 10 , 46 , 0 ) ) ; // cha�ne de mise � l'heure
^~~
MiseALheureInterne_V3:234:11: error: 'printDateTime' was not declared in this scope
printDateTime(now);
^~~~~~~~~~~~~
C:\Users\Guy\Desktop\Mem_Arduino\Outils_de_gestion\Pour_MiseALheure\MettreALheure\MiseALheureInterne_V3\MiseALheureInterne_V3.ino:234:11: note: suggested alternative: 'DateTime'
printDateTime(now);
^~~~~~~~~~~~~
DateTime
exit status 1
'RTC' was not declared in this scope
Partager