start:arduino:giga:interruptions
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
start:arduino:giga:interruptions [2025/03/22 22:07] – créée admin | start:arduino:giga:interruptions [2025/03/22 22:47] (Version actuelle) – [Les interruptions avec arduino] admin | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
[[https:// | [[https:// | ||
+ | |||
+ | **Une interruption** est un déclenchement qui arrête l’exécution d’un programme ou d’un bout de code pour exécuter une autre fonction. | ||
+ | C’est typiquement le cas lorsque l’on programme un chronomètre. Le temps s’écoule jusqu’au moment où on décide de stopper le chronomètre afin de lire la valeur inscrite sur l’écran. | ||
+ | Une interruption permet ainsi de stopper ou d’effectuer un programme puis d’en reprendre l’exécution à partir de l’instant où il a été stoppé. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | ====Interruptions==== | ||
+ | |||
+ | Si vous créez un projet qui repose fortement sur des données de capteurs précises et que vous devez donc vous assurer de lire et d' | ||
+ | |||
+ | Cette fonctionnalité peut s' | ||
+ | |||
+ | < | ||
+ | |||
+ | La syntaxe de création d'une fonction d' | ||
+ | |||
+ | **void setup()** | ||
+ | |||
+ | et est comme suit : | ||
+ | |||
+ | **attachInterrupt(digitalPinToInterrupt(pin), | ||
+ | |||
+ | *pin | ||
+ | |||
+ | *représente le numéro de broche de la broche à laquelle votre capteur d' | ||
+ | |||
+ | *ISR (**I**nterrupt **S**ervice **R**outine en anglais) | ||
+ | |||
+ | *est la fonction qui est appelée chaque fois que l' | ||
+ | |||
+ | *mode | ||
+ | |||
+ | *définit quand l' | ||
+ | |||
+ | Les différents modes utilisables sont : | ||
+ | |||
+ | *LOW | ||
+ | |||
+ | *déclenche l' | ||
+ | |||
+ | *CHANGE | ||
+ | |||
+ | *se déclenche chaque fois que la broche change de valeur. | ||
+ | |||
+ | *RISING | ||
+ | |||
+ | *se déclenche lorsque la broche passe de bas à haut. | ||
+ | |||
+ | *FALLING | ||
+ | |||
+ | *se déclenche lorsque la broche passe de haut en bas. | ||
+ | |||
+ | Cet exemple de croquis allumera ou éteindra une LED connectée à la broche 13 chaque fois qu'un bouton-poussoir connecté à la broche 2 est enfoncé ou relâché : | ||
+ | |||
+ | |||
+ | <code c interuption.ino> | ||
+ | const byte ledPin = 13; | ||
+ | |||
+ | const byte interruptPin = 2; | ||
+ | |||
+ | volatile byte state = LOW; | ||
+ | |||
+ | |||
+ | void setup() { | ||
+ | |||
+ | pinMode(ledPin, | ||
+ | |||
+ | pinMode(interruptPin, | ||
+ | |||
+ | attachInterrupt(digitalPinToInterrupt(interruptPin), | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | void loop() { | ||
+ | |||
+ | digitalWrite(ledPin, | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | void blink() { | ||
+ | |||
+ | state = !state; | ||
+ | |||
+ | } | ||
+ | |||
+ | </ |
/home/chanteri/www/fablab37110/data/attic/start/arduino/giga/interruptions.1742677656.txt.gz · Dernière modification : 2025/03/22 22:07 de admin