LOCODUINO

Aide
Forum de discussion
Dépôt GIT Locoduino
Flux RSS

samedi 27 avril 2024

Visiteurs connectés : 60

Comment gérer le temps dans un programme ?

et comment faire plusieurs tâches simultanément

. Par : Dominique, Guillaume, Jean-Luc

Dès vos premières applications, vous avez pu constater que la gestion du temps revient très fréquemment dans la programmation des diverses applications qui nous concernent. Cela va de choses simples comme les animations lumineuses à base de DEL comme dans « Chenillard de DEL » ou « Enseigne de magasin » ou bien l’envoi d’une impulsion de (...)

Retourner à l'article

Vous répondez à :

Comment gérer le temps dans un programme ? 15 juin 2023 09:38, par bernard

bon j’ai remodifié le code et super grand merci ça marche pour 2 donc je peux continuer comme ça pour toutes les leds. mille merci ça fonctionne..
et en plus j’ai appris un truc , pas belle la vie ?

voici mon code pour 2

#define LED1 7
#define LED2 8

void setup() {
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
}
 
bool clignote1 = true;
bool clignote2 = true;
uint32_t derniereDateclignote1 = 0;
uint32_t derniereDateclignote2 = 0;
uint32_t derniereDateDelai = 0;
uint32_t derniereDateDelai2 = 0;
uint8_t compteclignote1 = 0;
uint8_t compteclignote2 = 0;
 
void loop() {
  if (clignote1) {
    uint32_t nouvelleDate = millis();
    if (nouvelleDate - derniereDateclignote1 > 1000) {
      derniereDateclignote1 = nouvelleDate;
      digitalWrite(LED1, ! digitalRead(LED1));
      compteclignote1++;
      if (compteclignote1 == 6) {
        compteclignote1 = 0;
        clignote1 = false;
      }
    }
  }
 
  uint32_t nouvelleDate = millis();
  if (nouvelleDate - derniereDateDelai > 10000) {
    derniereDateDelai = nouvelleDate;
    derniereDateclignote1 = nouvelleDate;
    clignote1 = true;
  }
  /*..............2EME LED......................*/

   if (clignote2) {
    uint32_t nouvelleDate2 = millis();
    if (nouvelleDate2 - derniereDateclignote2 > 100) {
      derniereDateclignote2 = nouvelleDate2;
      digitalWrite(LED2, ! digitalRead(LED2));
      compteclignote2++;
      if (compteclignote2 == 12) {
        compteclignote2 = 0;
        clignote2 = false;
      }
    }
  }
 
  uint32_t nouvelleDate2 = millis();  
  if (nouvelleDate2 - derniereDateDelai2 > 5000) {
    derniereDateDelai2 = nouvelleDate2;
    derniereDateclignote2 = nouvelleDate2;
    clignote2 = true;
  }
}
Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

65 Messages

Rubrique Programmation

Le monde des objets (1)

Le monde des objets (2)

Le monde des objets (3)

Le monde des objets (4)

Les pointeurs (1)

Les pointeurs (2)

Les Timers (I)

Les Timers (II)

Les Timers (III)

Les Timers (IV)

Les Timers (V)

Bien utiliser l’IDE d’Arduino (1)

Bien utiliser l’IDE d’Arduino (2)

Piloter son Arduino avec son navigateur web et Node.js (1)

Piloter son Arduino avec son navigateur web et Node.js (2)

Piloter son Arduino avec son navigateur web et Node.js (3)

Piloter son Arduino avec son navigateur web et Node.js (4)

Démarrer en Processing (1)

L’assembleur (9)

Comment gérer le temps dans un programme ?

L’assembleur (8)

Processing pour nos trains

L’assembleur (7)

L’assembleur (6)

Arduino : toute première fois !

TCOs en Processing (1)

L’assembleur (5)

L’assembleur (4)

L’assembleur (3)

L’assembleur (2)

L’assembleur (1)

TCOs en Processing (2)

Calculer avec l’Arduino (1)

La programmation, qu’est ce que c’est

Types, constantes et variables

Installation de l’IDE Arduino

Répéter des instructions : les boucles

Les interruptions (1)

Instructions conditionnelles : le if ... else

Instructions conditionnelles : le switch ... case

Comment concevoir rationnellement votre système

Comment gérer l’aléatoire ?

Trucs, astuces et choses à ne pas faire !

Calculer avec l’Arduino (2)

Les structures

Systèmes de numération

Les fonctions

Trois façons de déclarer des constantes

Transcription d’un programme simple en programmation objet

Ces tableaux qui peuvent nous simplifier le développement Arduino

Les chaînes de caractères

Les derniers articles

L’assembleur (9)


Christian

L’assembleur (8)


Christian

L’assembleur (7)


Christian

L’assembleur (6)


Christian

L’assembleur (5)


Christian

L’assembleur (4)


Christian

L’assembleur (3)


Christian

L’assembleur (2)


Christian

L’assembleur (1)


Christian

TCOs en Processing (2)


Pierre59

Les articles les plus lus

Les Timers (I)

Les interruptions (1)

Instructions conditionnelles : le if ... else

Ces tableaux qui peuvent nous simplifier le développement Arduino

Piloter son Arduino avec son navigateur web et Node.js (1)

Comment gérer le temps dans un programme ?

Les Timers (II)

Bien utiliser l’IDE d’Arduino (1)

Les chaînes de caractères

Les Timers (III)