MTbutton: Exemple 1
Gestion par événements pour UNO, Nano, Mega
Allumer une led
Le programme va allumer la led LED_BUILTIN quand on appuie sur un bouton branché entre A0 et GND.
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 allume une led si on appuie sur un bouton. #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) // Appelée quand on vient d'appuyer sur le bouton { digitalWrite(LED_BUILTIN, HIGH); // Allumer la led } void eteint(void) // Appelée quand on vient de relâcher le bouton { digitalWrite(LED_BUILTIN, LOW); // Éteindre la led } MTbutton Bouton(PIN_BUTTON, allume, eteint); // Mise en place du bouton void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialisation de la led } void loop(){}
Programme complet possible
C'est une méthode plus traditionnelle mais il ne faut pas bloquer loop sinon le bouton n'a plus d'effet.
// Ce programme allume une led si on appuie sur un bouton. #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 MTbutton Bouton(PIN_BUTTON); // Mise en place du bouton void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialisation de la led } void loop() { digitalWrite(LED_BUILTIN, Bouton.getSelect()); // Copie l'état du bouton dans la led // digitalWrite(LED_BUILTIN, Bouton.getSelect()? HIGH : LOW) ; // Plus correct! }