Bonjour je débute tout juste avec Arduino.
J'ai pour but d'utiliser une RTC DS 1307 avec une arduino uno, et je souhaiterais enregistrer quelques part sur la carte arduino les valeurs de l'heure, minute et seconde à chaque fois que l'une d'elle varient afin de pouvoir utiliser celle ci par la suite. Mais je n'y arrive pas.
Merci de votre aide
Super j'avais perdu ce lien, ce coup ci je le note.
Ça faisait aussi qq temps que je le voyais et j'oubliais de le noter maintenant c'est fait et surtout il est à utiliser sans modération !
Voir aussi "l'officiel" Google is your friend
J'aime beaucoup mais je n'ai pas trouvé de réplique exacte en français
Sinon pour varier les plaisirs y a aussi ça
Je pense que vous n'avez pas compris ma question ! Ma rtc et mon arduino fonctionne correctement. Mais je ne sais pas comment utiliser les variables. Comme par exemple lorsque minutes = nombre pair faire ...
il faut que tu apprennes le langage C
Oui mais je voulais savoir si il n'existait pas une fonction pour faire cela
Pour savoir les minutes etc, tu as les tutos pointées par google dans les lien que tout le monde à donné.
Et pour manipuler ces données, il te faut connaitre le langage C un minimum, parce qu'on est pas là pour programmer à ta place. Donc je t'ai fourni un lien vers un site sur lequel tu as un cours de langage C
Bonsoir, tu peux utiliser la librairie rtclib
Elle simplifie beaucoup l'utilisation du module DS1307.
En installant la librairie tu auras accès à un exemple :
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
// 2010-02-04 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
#include <Wire.h>
#include <RTClib.h>
RTC_DS1307 RTC;
void setup () {
Serial.begin(57600);
Wire.begin();
RTC.begin();
// following line sets the RTC to the date & time this sketch was compiled
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
void loop () {
DateTime now = RTC.now();
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.print(now.second(), DEC);
Serial.println();
Serial.print(" since 2000 = ");
Serial.print(now.get());
Serial.print("s = ");
Serial.print(now.get() / 86400L);
Serial.println("d");
// calculate a date which is 7 days and 30 seconds into the future
DateTime future (now.get() + 7 * 86400L + 30);
Serial.print(" now + 7d + 30s: ");
Serial.print(future.year(), DEC);
Serial.print('/');
Serial.print(future.month(), DEC);
Serial.print('/');
Serial.print(future.day(), DEC);
Serial.print(' ');
Serial.print(future.hour(), DEC);
Serial.print(':');
Serial.print(future.minute(), DEC);
Serial.print(':');
Serial.print(future.second(), DEC);
Serial.println();
Serial.println();
delay(3000);
}
Donc tu demande à la RTC d’enregistrer les valeurs heur jours etc... avec
DateTime now = RTC.now();
puis tu demande chaques valeurs une a une par exemple
now.minute()
renvoi la valeur des minutes
tito28:
Je pense que vous n'avez pas compris ma question ! Ma rtc et mon arduino fonctionne correctement. Mais je ne sais pas comment utiliser les variables. Comme par exemple lorsque minutes = nombre pair faire ...
ben oui, car la question était mal posée aussi
pour savoir si pair ou impair, un truc bête, mais il en existe d'autres
chiffre / 2 = resultat
resultat *2 = result
si result différent de chiffre => impair
si result = chiffre => pair
Bonsoir,
Plus simple la division modulo 2, si résultat = 0 alors pair sinon impaire.
En C
9 % 2 = 1
8 % 2 = 0 -> nombre pair
7 % 2 = 1
@+
Et pareil que la division modulo 2, mais en plus performant :
9 & 1 = 1
8 & 1 = 0 -> nombre pair
7 & 1 = 1
Bonjour,
Bien vue bricoleau
vohu:
il faut que tu apprennes le langage C
tito28:
Oui mais je voulais savoir si il n'existait pas une fonction pour faire cela
Une fonction pour apprendre le langage C ? Je dirais plutôt un outil et il s'appelle cerveau...