Aller au contenu


Photo
- - - - -

Utiliser les valeurs d'une date.

ds1302 arduino

  • Veuillez vous connecter pour répondre
4 réponses à ce sujet

#1 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 26 janvier 2015 - 12:38

Bonsoir à tous !

 

Ce soir je me suis mis à essayer un module qui donne l'heure et la date, relié à une arduino par bus i²c. Jusque la tout fonctionne: je récupère bien les informations dans le moniteur série.

Le problème c'est que maintenant que j'ai ces valeurs, je ne sais pas comment les utiliser.

Exemple de l'heure:

je la récupère sous ce format : 00:29:30 

et mon but serait de mettre les heures, les minutes et les secondes dans des int différents afin de les utiliser.

 

J'espère que ça va vous parler, je poste le code :


#include <DS1302.h>


DS1302 rtc(6, 7, 8);// pin pour i2c




void setup()
{
  
  rtc.halt(false);
  rtc.writeProtect(true);
  
  // Setup Serial connection
  Serial.begin(9600);

  
 // rtc.setDOW(SUNDAY);        // réglage du jour
 // rtc.setTime(23, 54, 0);     // réglage de l'heure
//  rtc.setDate(25, 1, 2014);   // réglage de la date
}

void loop()
{
  
  
  // jour de la semaine
  Serial.print(rtc.getDOWStr());
  Serial.print(" ");
  
  // date
  Serial.print(rtc.getDateStr());
  Serial.print(" -- ");

  // heure
  Serial.println(rtc.getTimeStr());
  
  
  delay (1000);
}

Merci :help:



#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 26 janvier 2015 - 04:28

Salut pour faire l'équivalent de ce que tu as besoin = parser un string avec des delimiters connu , j'avais utiliser ce lien avec dans les réponses une très bonne explication !

http://stackoverflow.com/questions/11068450/arduino-c-language-parsing-string-with-delimiter-input-through-serial-interfa

Enjoy ;)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#3 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 26 janvier 2015 - 12:00

Exact ca marche j'avais pas du tout pensé à utiliser strtok_r. Impecable merci bien !

#4 fedji78

fedji78

    Nouveau membre

  • Membres
  • 1 messages

Posté 18 septembre 2016 - 06:26

Exact ca marche j'avais pas du tout pensé à utiliser strtok_r. Impecable merci bien !

Hello ashira,

pourriez-vous m'indiquer comment avez vous résolu votre problème. j'ai du mal a trouver la solution...

Merci d'avance



#5 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 18 septembre 2016 - 07:25

Salut ! 

 

Si je me souviens bien tu dois utiliser strtok_r pour enlever les ":". Par exemple tu enregistres rtc.getTimeStr() dans un char, puis tu convertis ce char en int avec la fonction atoi().

 

Par exemple: 

char* data;
char* i;
int valeur;
/////////////////////////
void loop() {

data=strtok_r(rtc.getTimeStr(),":",&i);
valeur=atoi(data);

}






Aussi étiqueté avec au moins un de ces mots-clés : ds1302, arduino

0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users