Accueil > Arduino, Matériel > Utilisation des interruptions sur l’Arduino

Utilisation des interruptions sur l’Arduino

Au lieu de faire une boucle et de lire la valeur d’une entrée afin d’effectuer une tâche; il peut être judicieux d’utiliser les interruptions matérielles. L’Arduino possède 2 broches qui permettent de traiter les interruptions; ces broches sont les 2 (interruption 0) et 3 (interruption 1).

Pour tester le fonctionnement des interruptions, nous allons effectuer le câblage suivant :

image

Nous plaçons un condensateur en parallèle sur l’interrupteur pour éviter l’anti-rebond au niveau de l’interrupteur.

Nous utiliserons la LED interne (broche 13) de l’Arduino pour afficher l’état.

Le programme sera le suivant :

/* Programme pour tester les interuptions */

int bouton = 0; // interruption 0, pin 2
int pinled = 13; // LED intégré pin 13
int etat = LOW;

void traite_int()
{
  // fonction exécutée si interruption détectée
  etat = !etat;
  digitalWrite(pinled, etat);
}

void setup()
{
  attachInterrupt(bouton, traite_int, FALLING);
  pinMode(pinled, OUTPUT);
  digitalWrite(pinled, etat);
}

void loop()
{
  delay(10);
}

A chaque appuie sur l’interrupteur l’état de la LED change.

La fonction attachInterrupt(param1, param2, param3) nécessite 3 paramètres :

– param1 : numéro d’interruption à utiliser (0 ou 1);

– param2 : fonction à exécuter lors de l’interruption; elle ne peut avoir de paramètres et ne retourne rien.

– param3 : le type de déclenchement de l’interruption; il y a 4 types de déclenchements possible :

          * LOW : l’entrée est au niveau bas;

          * RISING : l’entrée passe du niveau bas au niveau haut;

          * FALLING : l’entrée passe du niveau haut au niveau bas;

          * CHANGE : l’entrée a changé de niveau.

Advertisements
Catégories :Arduino, Matériel Étiquettes : ,
  1. Richard Van de oosdijk
    11/05/2014 à 15:42

    Le bouton devrait avoir la valeur 2 et non 0 (dans le code)

    Richard

    • 12/05/2014 à 19:55

      C’est bien 0 qui indique l’utilisation de l’interruption 0

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :