MTclock: Exemple 1

Ce programme va envoyer régulièrement la lettre "A" sur la console

Envoi du A

On va tout d'abord écrire une fonction qui envoi la lettre "A" sur la console. Rien de très compliqué:

void envoi(void)
{
  Serial.print('A');
}

Il n'y a pas vraiment besoin de commentaires supplémentaires!

Il faut maintenant appeler régulièrement cette fonction. Pour cela nous allons utiliser une horloge (timer in english). On va lui dire d'appeler la fonction envoi toutes les secondes. L'objet MTclock est taillé pour cela:

MTclock Metronome(1000 milli_secondes, envoi);

Ceci définit donc une variable Metronome de type MTclock. Notez la majuscule en début, qui est une convention pour les objets. Le premier paramètre est le temps entre deux appels à la fonction. C'est aussi le temps entre l’initialisation de Metronome et le premier appel. Ce temps doit être exprimé en millisecondes d'où la présence du nombre 1000. Le milli_secondes est un mot commentaire ignoré par le compilateur. On reconnaît ces mots à la présence d'un caractère "_" au milieu de plein de lettres minuscules sans avoir ce caractère en début.

Il faut comme dans tous les programmes qui utilisent MTobjets, inclure la bibliothèque utile. Ici on utilise comme seul objet un métronome (le nom de l'objet est MTclock):

#include "MTclock.h" // V1.0.0 Voir http://arduino.dansetrad.fr/MTobjects

Je conseille fortement de laisser le commentaire, si une autre personne voulait essayer le programme, elle aurait directement un lien de téléchargement. C'est valable pour toutes les bibliothèques que vous utilisez.

setup()

Comme on écrit sur la console, il faut l'initialiser:

void setup()
{
  Serial.begin(115200);
}

loop()

Il n'y a rien à faire de plus, loop() ne nous sert à rien. Il va rester vide. Mais vous pouvez y mettre un autre programme, celui que nous avons fait est indépendant. Donc:

void loop(){}

J'ai tout mis sur la même ligne mais vous pouvez en prendre deux ou trois. Même si la fonction est vide et ne nous sert à rien apparemment, il faut la définir. En fait, elle va servir de boucle d'attente quand notre programme ne va pas s'intéresser au métronome.

Programme complet

Voici donc le programme complet:

// Ce programme envoie régulièrement sur la liaison série la lettre 'A'

#include "MTclock.h" // V1.0.0 Voir http://arduino.dansetrad.fr/MTobjects  

void envoi(void)
{
  Serial.print('A');
}

MTclock Metronome(1000 milli_secondes, envoi);



void setup()
{
  Serial.begin(115200);
}

void loop(){}