====== Arduino à Haute Fréquence avec des interruptions====== =====Ressources===== * **[[https://arduinogetstarted.com/reference/attachinterrupt|arduinogetstarted.com]]** la documentation Arduino sur les Interruptions. * https://www.tutorialspoint.com/arduino/arduino_interrupts.htm * https://microcontrollerslab.com/use-arduino-interrupts-examples/ ====Nombre de PIN avec Interrupt==== La UNO n'a que 2 attachinterrupt.\\ {{ :media_16:arduino_interrupt.png?700 }} =====Vulgarisation===== Lorsque qu'une PIN est activée, le calculateur s'arrête pour traiter la demande sur la PIN. **Une interruption est un membre VIP** =====Optical Encoder USDigital===== 4000 points soit 16Kz à 1 tour par seconde * **[[https://www.pjrc.com/teensy/td_libs_Encoder.html|Encoder Library @ pjrc.com]]** Programme écrit en assembleur, ce qui permet d'atteindre 130 kHz 8-) #define ENCODER_OPTIMIZE_INTERRUPTS #include // Arduino Uno: seuls 2 et 3 sont INTERRUPTS Encoder myEnc(2, 3); void setup() { Serial.begin(115200); Serial.println("Basic Encoder Test:");} long oldPosition = -999; void loop() { long newPosition = myEnc.read(); if (newPosition != oldPosition) { oldPosition = newPosition; Serial.println(newPosition); }} Ce sketch fonctionne bien sur UNO, mais la UNO n'a que 2 interruptions. Il n'est pas possible d'ajouter le RAZ avec index (appelé aussi axe Z). {{tag>communication sb spi}}