Créer des applications professionnelles avec Arduino UNO 

Réagir à l'interruption du jeu de lumière

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Vous allez assister à une interruption du jeu de lumière, mais vous verrez que l'IDE vous réserve une surprise. En effet, l'interruption est due au changement d'état d'une broche.
05:47

Transcription

Dans cette vidéo, je vais vous parler donc du mot-clé attachInterrupt. Alors en fait ce mot-clé va permettre de gérer des interruptions sur les broches 2 et 3 de la carte ou non. Alors pour ceci, en fait il suffit simplement d'aller à cette adresse ou de faire, dans votre moteur de recherche préféré, donc Interruption Arduino et vous allez arriver directement sur cette page. Nous ici il faut savoir que la source d'interruption qui va nous intéresser en fait, c'est le changement d'état de la broche. Alors quelle est la syntaxe ? Elle est la suivante, vous allez mettre ce mot-clé ainsi que ce mot-clé, mettre le numéro de la pin, alors là vous n'allez pas avoir trop le choix, ce sera la numéro 2 ou la numéro 3, et ensuite le nom en fait de la fonction qui va aller traiter votre interruption. Et ensuite vous allez prendre le mode. Alors quel est ce mode ? Tout d'abord je vais juste vous parler du mode. Je regarde les différents paramètres et on voit que nous avons, entre parenthèses, (int). Alors int c'est pas le int de tout à l'heure, le integer, non en fait ce sont les broches int.0 et int.1 qui sont dans la notice technique du micro-contrôleur. Alors, en fait, pour en revenir à mes modes, vous avez quatre possibilités. Soit votre interruption se fait quand vous êtes à un niveau bas stabilisé ou à un niveau haut stabilisé mais attention, ces signes ne fonctionnent bien que pour ces cartes, et après vous pouvez avoir une interruption à chaque fois que vous changez l'état ou seulement quand vous avez une interruption en fait, sur front montant ou sur front descendant. Alors vous avez un petit exemple ici que je vous invite à effectuer, si le cœur vous en dit. En fait vous retrouvez directement la syntaxe avec en fait, ici, le nom de la fonction ou en fait il y a un haut exclusive, c'est-à-dire qu'à chaque fois que l'on va rentrer dans l'interruption, en fait on va avoir un changement d'état de la pin. Si pour une raison x ou y, vous décidez de ne plus mettre en service l'interruption, dans ce cas-là vous irez sur detachInterrupt et vous mettrez en fait cette syntaxe. Juste un petit peu plus bas en fait, pour revenir à mes histoires de int, vous voyez on vous pour la Uno. Alors maintenant, côté programme, c'est pas le tout, il faut quand même essayer de faire un petit peu autre chose que ce qu'il y a en ligne, alors je n'ai strictement rien changé en fait à l'en-tête de mon programme par rapport au programme précédent. J'ai toujours laissé mon bouton poussoir sur la broche numéro 2 et je fais donc un attachInterrupt sur mon bouton poussoir qui est sur la pin2, donc int.0 pour le microcontrôleur, et puis je vais appeler donc ma fonction Traitement de l'Interruption et je vais le faire sur des fronts descendants. Alors pourquoi des fronts descendants ? Simplement parce que j'ai mis encore une résistance de pull-up en interne. Donc par défaut je suis au niveau haut et c'est lorsque je vais, en fait, appuyer, que je vais passer du niveau haut au niveau bas. Alors c'est pour ça que je l'ai mis en FALLING. Et puis à partir de là, j'effectue ma boucle principale et ensuite j'ai ma fonction d'interruption. Alors j'attire quand même votre attention sur quelque chose, c'est que sur un langage de type C et C++ dans un IDE qui est tout autre qu'Arduino, vous devriez en fait déclarer le prototype de la fonction ou mettre cette fonction avant en fait le setup, de façon à ce que cette ligne en fait puisse reconnaître le nom de votre fonction. Or là dans l'IDE d'Arduino, donc là vous pouvez le mettre n'importe où, en fait il va gérer lui-même l'appel de la fonction. Et pour cela, c'est tout-à-fait transparent. Donc maintenant j'ai rajouté en fait cette petite ligne qui va me permettre en fait de vérifier, depuis le moniteur série, l'affichage qui va se faire à l'intérieur du traitement de mon interruption, et là on va avoir en fait une petite surprise. Alors je reviendrai bien évidemment sur ces paramètres le moment venu dans la formation. Alors en fait j'ai déjà compilé et téléversé et je n'ai plus qu'à chercher en fait ma fenêtre. Alors comment j'ai fait ? J'ai fait Outils et Moniteur série. Donc maintenant, ce que je vais faire, c'est que je vais appuyer. Alors j'ai sous les yeux mon chenillard qui tourne normalement et, en fait, vous voyez que dès que j'envoie une impulsion, j'ai l'affichage qui se fait ici. Et là, vous voyez que, quand même, c'est visible, j'ai mis des temporisations donc de deux secondes entre chaque affichage et, en fait, il n'y a pas d'affichage. Alors là c'est ce qui vous est dit justement sur la page internet. Ici en anglais on vous dit que, par défaut, dans l'IDE d'Arduino, on bannit les délais dans les interruptions, parce qu'une interruption est quelque chose qui doit être de courte durée et en aucun cas on doit y mettre un délai. C'est quelque chose de très furtif. Vous effectuez en fait un traitement qui doit être simple, rapide et efficace pour reprendre en fait votre activité normale qui est au sein du loop. Mais le problème c'est qu'au moment de la compilation, vous n'avez strictement aucun warning en vous disant attention, vous avez mis un délai à l'intérieur de votre fonction d'interruption.

Créer des applications professionnelles avec Arduino UNO 

Mettez en œuvre des périphériques de communication de votre carte Arduino UNO. Abordez les protocoles de communication et concevez des applications ludiques et professionnelles.

3h12 (39 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Arduino UNO Arduino UNO Rev3
Spécial abonnés
Date de parution :31 août 2017
Mis à jour le:22 sept. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !