MTbutton: Exemple 3
Gestion par événements pour UNO, Nano, Mega
Envoyer des lettres sur appui de boutons
Le programme va envoyer la lettre "A" à chaque appui sur le bouton câblé sur A0, le "B" si on appuie sur le bouton câblé sur A1, ... etc jusqu'au "F".
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 redéfinit des boutons pour envoyer des caractères. Ici on va // dériver une nouvelle classe pour éviter de redéfinir plein de fonctions #include <MTobjects.h> // V1.0.4 Voir http://arduino.dansetrad.fr/MTobjects const uint8_t PIN_BUTTON_A = A0; // Bouton câblé entre GND et A0 const uint8_t PIN_BUTTON_B = A1; const uint8_t PIN_BUTTON_C = A2; const uint8_t PIN_BUTTON_D = A3; const uint8_t PIN_BUTTON_E = A4; const uint8_t PIN_BUTTON_F = A5; // Définition d'une nouvelle classe qui surcharge onSelect class MonBouton: public MTbutton { public: MonBouton (uint8_t pin, char p_lettre) // Nouveau constructeur :MTbutton(pin), lettre(p_lettre) {}; private: char lettre; // Lettre qui sera envoyée sur la voie série virtual void onSelect(void) // Fonction à surcharger qui envoie une lettre { Serial.print(lettre); } }; // Définition des boutons MonBouton BoutonA(PIN_BUTTON_A, 'A'); // Ce bouton va donc envoyer la lettre 'A' MonBouton BoutonB(PIN_BUTTON_B, 'B'); MonBouton BoutonC(PIN_BUTTON_C, 'C'); MonBouton BoutonD(PIN_BUTTON_D, 'D'); MonBouton BoutonE(PIN_BUTTON_E, 'E'); MonBouton BoutonF(PIN_BUTTON_F, 'F'); void setup() { Serial.begin(115200); // Initialisation de la console } void loop(){}