Ardu? No!MTobjectsPour les cartes graphiques ≫ MTtouchPadShield: Exemple 2

MTtouchPadShield,
Exemple 2

Gestion par événements pour Uno, Nano, Mega

Les fonctions callback

Le programme qui suit affiche le point de contact avec les fonctions callback. Tout se passe sous interruption, et on peut utiliser loop() pour mettre un autre programme.

// Ce progrmme teste les fonction callback de l'objet MTtouchPadShield

#include <MTobjects.h> // V1.1.0 Voir http://arduino.dansetrad.fr/MTobjects

void appui(int x, int y) // Si on appuie sur le touchpad; (x,y) donne le point d'appui
{
  Serial.print("--> x=");
  Serial.print(x);
  Serial.print(" y=");
  Serial.println(y);
}

void deplace(int x, int y) // Si on déplace sur le touchpad; (x,y) donne le point d'appui
{
  Serial.print("    x=");
  Serial.print(x);
  Serial.print(" y=");
  Serial.println(y);
}

void relache(void) // Si on relâche le touchpad
{
  Serial.println("<--");
}

// Mise en place du touchpad résistif; il faut évidemment adapter les noms des broches
MTtouchPadShield TouchPad(pin_Y1_analogique A2, pin_Y2 8, pin_X1_analogique A3, pin_X2 9, appui, deplace, relache);

// Initialisation
void setup()
{
  Serial.begin(115200); // Mettre aussi la console sur 115200 bauds
  // C'est un MTtouchPadShield qui vérifie que l'on n'est pas en train de lire un écran
  // Les initialisations suivantes seraient faites par la bibliothèque de l'écran,
  // comme on n'en a pas, il faut le faire à part
  // Il faut donc mettre la broche /RD à HIGH, par exemple par une pullup
  pinMode(A0, INPUT_PULLUP);
  // Il faut aussi que les broches data 0 et data1 (pins 8 et 9) soient en sortie
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
}

// Loop est vie, on peut y mettre un autre programme en même temps
void loop(){}