stats online

Comment Faire Fonctionner Deux Fonctions En Même Temps Sur Arduino


Comment Faire Fonctionner Deux Fonctions En Même Temps Sur Arduino

Salut tout le monde ! Installez-vous confortablement, prenez un café (ou un thé, je ne juge pas !), et parlons Arduino. Vous avez déjà fait clignoter une LED, c'est ça ? Super ! Mais que se passe-t-il si vous voulez faire clignoter une LED et surveiller un bouton en même temps ? C'est là que les choses deviennent intéressantes. Comment faire fonctionner deux fonctions en même temps sur Arduino ? Eh bien, c'est plus simple que vous ne le pensez !

L'Arduino, par défaut, ne fait qu'une chose à la fois. Il exécute votre code ligne par ligne, du début à la fin. Donc, si vous avez une fonction qui prend beaucoup de temps, disons une seconde entière, à s'exécuter, l'Arduino sera bloqué pendant cette seconde. Pas idéal, n'est-ce pas ? Imaginez que vous essayez de lire une donnée d'un capteur pendant que la LED clignote… vous risquez de manquer des lectures importantes !

Alors, comment contourner ce problème ? La réponse est : la non-blocking code, ou le code non bloquant. L'idée est de diviser vos tâches en petites étapes et de les exécuter alternativement, très rapidement, de sorte qu'elles semblent s'exécuter en même temps. C'est un peu comme jongler : vous lancez une balle, puis une autre, et ainsi de suite. Vous ne gardez pas une balle en l'air tout le temps, mais l'illusion est là. Et franchement, c'est une très bonne illusion !

La clé ici, c'est la fonction `millis()`. Cette fonction renvoie le nombre de millisecondes écoulées depuis le démarrage de votre programme Arduino. C'est notre chronomètre personnel ! On va l'utiliser pour suivre le temps et déclencher nos actions à intervalles réguliers.

Prenons un exemple concret. Supposons que vous vouliez faire clignoter une LED toutes les 500 millisecondes. Au lieu d'utiliser `delay(500)`, qui bloquerait l'Arduino pendant une demi-seconde, vous pouvez faire quelque chose comme ceci :

Debuter dans la programmation d’une carte Arduino
Debuter dans la programmation d’une carte Arduino

unsigned long previousMillis = 0;
const long interval = 500;
int ledState = LOW;

void loop() {
unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;

if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}

digitalWrite(ledPin, ledState);
}

// Ici, vous pouvez ajouter d'autres tâches !
// Par exemple, lire un capteur, surveiller un bouton...
}

Ce code est magique ! (Enfin, pas vraiment de la magie, mais c'est très astucieux.) Il vérifie constamment si 500 millisecondes se sont écoulées depuis la dernière fois que la LED a changé d'état. Si c'est le cas, il change l'état de la LED et met à jour `previousMillis`. Le plus important, c'est que l'Arduino ne s'arrête jamais ! Il continue à exécuter la fonction `loop()`, et vous pouvez y ajouter d'autres tâches sans problème.

Présentation – Arduino : l'essentiel
Présentation – Arduino : l'essentiel

Vous pouvez maintenant lire un bouton, surveiller un capteur, afficher des informations sur un écran LCD... tout en faisant clignoter votre LED ! Tout cela en même temps (enfin, presque en même temps, mais suffisamment vite pour que vous ne voyiez pas la différence). N'hésitez pas à adapter ce code à vos propres projets. Expérimentez, amusez-vous ! C'est le meilleur moyen d'apprendre.

Alors, la prochaine fois que vous vous demanderez comment faire fonctionner deux fonctions en même temps sur Arduino, souvenez-vous de `millis()` et du code non bloquant. C'est votre ticket pour des projets plus complexes et plus intéressants. Allez-y, créez quelque chose d'incroyable ! Et n'oubliez pas : chaque grand projet commence par une petite étincelle. Alors allumez votre Arduino et laissez briller votre créativité !

Faire fonctionner des moteurs PAP néma 17 avec un affichage dans le Faire tourner deux moteurs avec L293D - Français - Arduino Forum Arduino (documentation et exemples) - La Fabrication numérique Exemple Programme Arduino Cours pour débuter sur Arduino Débuter avec Arduino - Partie 1 Mini station météo Arduino - SLA99 Controlling a DC motor with Arduino Arduino89-TEMPO REPOS- PROGRAMMATION sur l'ARDUINO (MINUTERIE) - YouTube ARDUINO - Crée une Horloge par charles33600 TUTO ARDUINO #2 : FAIRE FONCTIONNER UN BOUTON / INTERRUPTEUR ! - YouTube Tutoriel L298N : fonctionnement, branchement, code arduino

You might also like →