Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arduino et notion de temps

16 juin 2016 à 21:39:42

Donc il est impossible de faire une horloge avec un arduino ?
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 16 juin 2016 à 22:05:33

Tu as mal compris ce que j'ai dis...

Un arduino peut parfaitement faire une horloge.

Sauf que si c'est un arduino avec module RTC, ce ne sera pas très précis du genre quelques secondes de dérive par heures.

Alors que si c'est un arduino avec RTC, la précision sera bien meilleurs du genre seulement quelques secondes par mois.

Le RTC permet aussi de ne pas perdre l'heure pendant que l'arduino n'est pas alimenté donc il est vraiment important.

Sachant qu'un module RTC pour arduino coute moins de 5€, mieux vaut ne pas s'en priver ;)

Exemple : http://www.ebay.fr/itm/Module-RTC-DS3231-avec-pile-ARDUINO-/201604183009?hash=item2ef08bb3e1:g:CGMAAOSwf-VWXdI1

-
Edité par lorrio 16 juin 2016 à 22:06:08

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2016 à 16:49:48

J'ai un arduino mega un segments 7 pin un rtc module mais pas de code.... Une idée ? de ou je pourrais trouver sa ? J'ai chercher pendant des mois sur internet mais j'ai rien trouver qui correspond a ma situation.
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 17 juin 2016 à 17:49:43

Quel est l’intérêt d'acheter un arduino si c'est pour faire un copier/coller du câblage et du code d'un autre sans cherche à comprendre ?

Autant acheter directement une horloge, ce sera moins chère et plus rapide à mettre en place.

Un arduino, c'est fait pour bricoler, développer des projets par soit même.

Tu pourrais aller aller faire un tours sur le site de Eskimon pour apprendre comment marche un RTC et les afficheurs 7 segments.

Puis une fois que tu sais te servir de ces composants, alors il te faut te servir de ces connaissances pour développer le code par toi même.

Si jamais tu es bloqué, tu peux poster ton code ici afin que l'on puisse t'aider à le corriger ;)

  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2016 à 18:13:24

Hem d'accord sais juste que j'ai l'habitude de faire mais propre code grace au code d'autre personne.
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

17 juin 2016 à 18:24:56

Excuser moi pour la faute du haut, ou je peut mettre le code que j'ai actuellement ?
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

17 juin 2016 à 20:42:18

Tres bien voila mon code:

#include "SevSeg.h"

//Créer une instance de l'objet.

SevSeg sevseg;

//Créer les variables globales.

unsigned long timer;

int minute=0;

// Initialisations

void setup() {

{

  /*le premier chiffre représente anode ou cathode commune: cathode=0,anode=1.

    Les chiffres 2,4,3 et 13 sont les broches de sortie de l'Arduino 

    pour les broches communes des afficheurs en partant de la gauche vers la droite.            

    Les chiffres suivants représentent les broches de sortie de l'Arduino 

    pour les segments a,b,c,d,e,f,g et dp des afficheurs.*/ 

  sevseg.Begin(0,0,1,2,3,4,5,6,7,8,9,10,11);

 //Régler la luminosité (0 to 100);

  sevseg.Brightness(20);

  // initialisation de la variable timer

  timer=millis();

}

}

void loop() {

  // Affiche les différentes sorties

  sevseg.PrintOutput();

  unsigned long temps=millis();

  if (temps-timer>=60000) {

    timer=temps;

    minute++;

    if (minute==1440) { // Remet à 0 après 24h*60=1440, soit une journée complète.

      minute=0;

    }

    int x=minute/60*100;

    // On divise par 60 pour avoir le nombre d'heure 

    int y=minute%60;

    // et on le multiplie par 100 pour le positionner sur l'afficheur n°2.

    int z=x+y;

    //y est le modulo de la division précédente (le reste des minutes)

    sevseg.NewNum(z,(byte) 2);

    //z est mis sur les afficheurs, 2 représente le point.

  }

}

Voila j'aimerais savoir comment je peut intégrer un rtc module a mon code...

-
Edité par Acemen4 17 juin 2016 à 20:43:24

  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 17 juin 2016 à 21:00:15

Avec les balises code, ce serait beaucoup plus lisible...

Je t'invite donc à éditer ton message pour poster ton code en te servant du bouton </> au dessus de l'éditeur de message.

Quand au RTC, c'est assez simple à utiliser, il y a des lib pour ça ;)

Exemple: https://github.com/adafruit/RTClib

Tu as une fonction pour récupérer l'heure contenue dans le RTC : DateTime now = rtc.now();

Puis pleins d'autres fonctions pour dissocier les éléments : now.year(), now.month(), now.day(), now.hour() ...

  • Partager sur Facebook
  • Partager sur Twitter
18 juin 2016 à 0:32:08

#include "SevSeg.h"
//Créer une instance de l'objet.
SevSeg sevseg;
//Créer les variables globales.
unsigned long timer;
int minute=0;
// Initialisations



void setup() {

{
  /*le premier chiffre représente anode ou cathode commune: cathode=0,anode=1.
    Les chiffres 2,4,3 et 13 sont les broches de sortie de l'Arduino 
    pour les broches communes des afficheurs en partant de la gauche vers la droite.            
    Les chiffres suivants représentent les broches de sortie de l'Arduino 
    pour les segments a,b,c,d,e,f,g et dp des afficheurs.*/ 
 
  sevseg.Begin(0,0,1,2,3,4,5,6,7,8,9,10,11);
 
 //Régler la luminosité (0 to 100);
 
  sevseg.Brightness(20);
 
  // initialisation de la variable timer
 
  timer=millis();
}
}
void loop() {

  // Affiche les différentes sorties
  sevseg.PrintOutput();
 
  // Vérifier si la minute HO est écoulé...666 milliseconde pour 1mn.
  unsigned long temps=millis();
  if (temps-timer>=60000) {
    timer=temps;
    minute++;
    if (minute==1440) { // Remet à 0 après 24h*60=1440, soit une journée complète.
      minute=0;
    }
    int x=minute/60*100;
    // On divise par 60 pour avoir le nombre d'heure 
    int y=minute%60;
    // et on le multiplie par 100 pour le positionner sur l'afficheur n°2.
    int z=x+y;
    //y est le modulo de la division précédente (le reste des minutes)
    sevseg.NewNum(z,(byte) 2);
    //z est mis sur les afficheurs, 2 représente le point.
  }

}
Voila.
Le rpoblème c'est que une fois que le RTC module fonctionne l'heure ne s'affiche plus.
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 18 juin 2016 à 11:03:49

Pour le moment, il n'y a aucune ligne de ton code qui est en rapport avec un modue RTC.

Du coup, je vois mal comment l'afficheur pourrait ne plus marché.

Ou alors, c'est un problème dans ton câblage.

Comment as tu câblé tous tes éléments (afficheur&RTC) sur ton arduino ?

  • Partager sur Facebook
  • Partager sur Twitter
18 juin 2016 à 16:18:37

J'ai enlever tout les ligne de code qui correspondais au rtc module (vue que je n'avais pas finit les test avec l'afficheur) en plus de sa je n'ai pas de sauvegarde de c'est bout de code vue que pour moi il ne fonctionnais pas. Quand au câblage il est reglemmentaire a un arduino mega.
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

13 janvier 2017 à 16:42:31

bonjour, j'ai un projet de TPE où je travaille sur la réverbération du son sur des matériaux. j'aimerais savoir si il est possible avec une carte arduino uno de lancer un compteur a partir du moment où je lance un ultrason jusqu’à que le son sois revenue au capteur ultrason ?

je n'ai pas vraiment le temps de chercher de mon côté car je n'ai beaucoup de temps et que je ne m'y connais pas beaucoup donc si vous avez des site ou des cours sur internet a me conseiller je suis preneur.

merci

  • Partager sur Facebook
  • Partager sur Twitter
Staff 13 janvier 2017 à 20:06:24

Oui, c'est possible à l'aide d'un module à ultra son.

https://itechnofrance.wordpress.com/2013/03/12/utilisation-du-module-ultrason-hc-sr04-avec-larduino/

Néanmoins, je reste assez surpris par le "je n'ai pas le temps de chercher alors je vous demande"...

Le rôle d'un TPE n'est-il pas justement de faire des recherches pour présenter quelque chose ???

  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2017 à 17:34:10

bonjour tt le monde 
svp . est ce que il ya possibilité de sauvegarder les infos qui est programmé au Arduino par exemple une horloge quand alimentation coupé ? et c quoi la duréé max si possible . et est ce que il autre possibilité d' augmenter cette durée,

j att les réponse

merci bqqqq 

  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2017 à 18:01:25

essakhiyoussef3 a écrit:

bonjour tt le monde 
svp . est ce que il ya possibilité de sauvegarder les infos qui est programmé au Arduino par exemple une horloge quand alimentation coupé ? et c quoi la duréé max si possible . et est ce que il autre possibilité d' augmenter cette durée,

j att les réponse

merci bqqqq 


Bonjour

Justement je croit que c'est avec un RTC module (après il faut savoir l'inclure dans le code)

  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 18 mars 2017 à 19:26:12

Tout dépend de ce que tu veux sauvegarder.

Si c'est pour sauvegarder une variable, tu peux faire ça dans l'EEPROM interne du processeur de l'arduino.

Par exemple, si tu as un programme de robot autonome qui doit gérer ses propres erreurs (du genre erreur sur l'un des capteurs par exemple), il pourrait être intéressant de sauvegarder ces erreurs dans l'EEPROM de façon à ce que celui-ci ne soit pas perdu en cas de coupure de l'arduino.

En revanche, si tu but est de sauvegarder l'heure, l'EEPROM n'est pas adaptée.

En effet, l'EEPROM est une zone mémoire qui n'est pas effacée pendant que l'arduino est hors tension mais cette zone mémoire n'est pas capable de maintenir une heure.

En claire, tu peux très bien sauvegarder une heure en EEPROM mais cette heure ne sera pas incrémentée toutes les secondes pendant que l'arduino n'est pas alimenté.

Si tu veux pouvoir garder l'heure en permanence, il te faut un shield RTC.

Ce shield doit être équipée de sa propre pile qui permettra au chip RTC de continuer à maintenir son heure même si l'arduino est coupé.

  • Partager sur Facebook
  • Partager sur Twitter
19 mars 2017 à 14:32:21

Salut

C'est quoi la différence entre un shield RTC et un RTC ?

  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 19 mars 2017 à 14:48:37

Un RTC, c'est uniquement le petit circuit intégré qui sert à maintenir l'heure.

Un shield RTC, c'est un petit circuit imprimé qui intègre le circuit intégré RTC et tous les autres petits composants nécessaire à son fonctionnement (condensateur, quartz, pile...)

  • Partager sur Facebook
  • Partager sur Twitter
19 mars 2017 à 18:11:30

Mais pour faire une horloge il faut un rtc ou un shield rtc ?

  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 19 mars 2017 à 18:32:02

Un RTC ne peut pas fonctionner seul.

Il faut impérativement ajouter quelques composants autours.

Du coup, 2 solutions possibles :

  • Soit tu achètes un shield RTC qui intègre tout (il ne reste plus qu'à le relier à l'arduino avec des fils)
  • Soit tu achètes un RTC seul et tu rajoutes les composants autours
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2017 à 4:57:13

Qu'elle genre de RTC shield tu conseille ?
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

Staff 20 mars 2017 à 8:07:45

Peu importe.

Temps que tu vois écrit que c'est un shield RTC pour arduino et/ou que tu vois des commentaires indiquant que ce shield fonctionne avec Arduino, tu n'auras pas de problèmes.

  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2017 à 13:24:42

Ok dak
  • Partager sur Facebook
  • Partager sur Twitter

Le Stress c'est bon pour ce que tu a.

8 juin 2020 à 18:36:35


bonsoir 

je cherche un programme arduino qui permet t de calculer le nombre et le temps d'arrét d'une machine : et merci:)

<form id="u_fetchstream_13_18" class="commentable_item" style="margin: 0px; padding: 0px;" action="https://www.facebook.com/ajax/ufi/modify.php" method="post" data-ft="{&quot;tn&quot;:&quot;]&quot;}"> </form>
  • Partager sur Facebook
  • Partager sur Twitter
Staff 13 juin 2020 à 9:25:15

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça :) Postez votre code html et css (bouton '</>') !!