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! 
}