Appel d'une fonction Void

Bonjour à tous,

Actuellement sur un petit projet, j'ai créé différentes "fonctions" void pour permettre le guidage de mon robot, or je voudrais dans une de ces parties void, mettre un clignotement constant durement toute l'utilisation de cette partie mais comment faire ?
Merci d'avance pour votre réponse :slight_smile:
(en espérant avoir été assez clair)

Bonjour,
regarde la ça pourrais aider, ça fais clignoter une led toute les secondes, le temps est changeable.

Je n'ai pas du tout compris ce que tu as dit, pourrais tu donner des détails ?

J'ai oublier de poster le lien :confused:

https://www.carnetdumaker.net/articles/faire-plusieurs-choses-la-fois-avec-une-carte-arduino/

une procedure est une fonction qui ne revient rien..

void allumerLED(){

... Liste d'instructions ... // allumer une led

}

cette procedure, ne renvient rien, mais faire une action...

De plus elle peuvent avoir un ou plusieurs paramètre ...

void allumerLED( int temps) {

... Liste d'instructions ... // allumer une led durant Xtemps
}
Prototype d'une fonction
Le prototype va préciser le nom de la fonction, donner le type de la valeur de retour de la fonction (void quand il n'y a pas de retour), et donner les types des paramètres éventuels

une fonction renvoie toujours quelque chose...

int allumerLED() {// sans parametre

... Liste d'instructions ... // allumer une led
return 1; // retourne 1 si OK ( par exemple)
}

int allumerLED(int temps) {// avec parametre

... Liste d'instructions ... // allumer une led durant Xtemps
return 1; // retourne 1 si OK ( par exemple)
}

int maFonction(a,b)
{
int a, int b,int resultat; // déclaration de ma variable résultat
resultat = a+b;
return resultat;
}

Dans ton cas, tu n'as pas besoin de retour, tu fais l'action (allumer une led, tourner un moteur, tu n'as pas besoin de verifier quoique ce soit...

si tu veux plus d'explication tu as le tuto d'eskimon ou ici :

https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/742_decouverte-de-larduino/3419_le-langage-arduino-22/

Merci beaucoup à vous 3 pour toutes vos explications! je pense avoir trouvé la solution et vais utilisé une fonction du type int pour faire ma condition
Encore merci et bonne soirée :wink:

tout depend, cela peut etre int, float, double ect...

vais utilisé une fonction du type int pour faire ma condition

ça ne veut toujours rien dire :slight_smile:

Vous allez utiliser une fonction tout court, dont le type retourné est un entier - Et si c’est pour écrire une condition alors c’est plutôt un boolean que votre fonction devrait retourner - mais ce n’est pas forcément la bonne approche

—> Vous pourriez acheter une led qui clignote toute seule dès qu’on l’alimente... rien à faire côté logiciel qu’un digitalWrite pour déclencher ou arrêter le clignotement

—> vous pourriez avoir une fonction autonome appelée à chaque tour dans la boucle et qui clignote quand il le faut

void clignote()
{
   const unsigned long demiPeriode = 500;
   static unsigned long chrono = 0; // static pour s’en souvenir entre deux appels
   if (millis() - chrono >= demiPeriode) {
     
      // ici faire clignoter
      ......

      chrono += demiPeriode;
   }
}