Une librairie est définie avec la structure suivante : Un dossier MaLibrairie contenue dans le dossier Arduino libraries, celui contenant lui même différents éléments : * un fichier header MaLibrairie.h, qui contient en quelque sorte la structure du code source * un fichier source MaLibrairie.cpp, qui contient le code source * un dossier 'examples', qui contient plusieurs dossiers de sketches Arduino (chaque sketch devant être contenu dans un dossier éponyme pour Arduino). =====Exemples :===== ==== .h ==== /* Le fichier header liste, en gros, tout ce que la librairie contient en matière de fonctions, variables, etc. */ /* Il est d'usage d'usage de mettre en commentaires quelques précisions sur la librairie : nom, usage, auteur, licence. Ex : MaLibrairie.h - Template de librairie. Créée by L.M., 26/03/2015. Domaine publique */ /* La structure de contrôle #ifndef qui englobe le code permet d'éviter que la librairie ne soit déclarée de multiples fois */ #ifndef MaLibrairie_h #define MaLibrairie_h /* Inclure Arduino.h n'est pas obligatoire mais permet d'accéder aux fonctionnalitées habituelles d'Arduino. Il est possibles d'inclure d'autres librairies utiles, ex: #include */ #include "Arduino.h" /* On inclue en quelque sorte la structure du code contenue dans le .cpp ici */ class MaLibrairie { public: /* tout ce qui est publique */ Morse(int arg); /* le constructeur avec ici un argument */ void MaFonction(); /* une fonction qui ne retourne rien */ private: int _arg; /* une variable privée de type int. La présence de l'underscore est une convention : il s'agit de dissocier les arguments des propriétés de l'objets, qui peuvent avoir des noms très similaires. */ }; #endif ====.cpp==== /* Le fichier source contient le code source de la MaLibrairie */ /* Il est d'usage d'usage de mettre en commentaires quelques précisions sur la librairie : nom, usage, auteur, licence. Ex : MaLibrairie.cpp - Template de librairie. Créée by L.M., 26/03/2015. Domaine publique */ /* On peut inclure Arduino.h pour utiliser les fonctions communes d'Arduino On inclue le header de la MaLibrairie */ #include "Arduino.h" #include "MaLibrairie.h" /* On ajoute des fonctions, dont le constructeur */ MaLibrairie::MaLibrairie(int arg){ _arg = arg; /* On aurait aussi pu utiliser MaFonction(int arg){ this->arg = arg; } Si la propriété avait eu le même nom arg sans _. */ } void MaLibrairie::MaFonction(){ _arg = 0; }