MTclockDouble: Exemple 3
Gestion par événements pour UNO, Nano, Mega
Flashs et M/A
Led clignotante avec marche/arrêt.
On va utiliser un bouton bistable qui commande un métronome double, un événement sur deux va allumer la led, un événement sur deux va l'éteindre. C'est un exemple classique qui peut servir de base à des tâches comme programmer un ventilateur, un moteur...
Programme complet recommandé
Ce programme se fait complètement sous interruption, et libère loop qui peut être utilisé pour faire autre chose.
// Ce programme fait clignoter LED_BUILTIN avec un bouton marche/arrêt #include <MTobjects.h> // V1.0.4 Voir http://arduino.dansetrad.fr/MTobjects const uint8_t PIN_BUTTON = A0; // Bouton câblé entre GND et A0 void allume(void) { digitalWrite(LED_BUILTIN, HIGH); } void eteint(void) { digitalWrite(LED_BUILTIN, LOW); } MTdoubleClock Metronome(500 milli_secondes, 100 milli_secondes, allume, eteint, MT_INFINI, MT_OFF); void marche(void) { Metronome.start(); } void arret(void) { Metronome.stop(); eteint(); } MTcheckButton Bouton(PIN_BUTTON, marche, arret); void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop(){}