Les librairies (ou bibliothèques) sont un ensemble de fonctions permettant de simplifier l’utilisation d’un capteur ou d’une fonctionnalité.
Dès qu’un programme Arduino contient une ligne commence par #include alors, il appelle une librairie.
Une librairie n’est pas indispensable dans un programme. Néanmoins elle vous permettra de faciliter la manipulation de composant ou encore d’alléger votre code. C’est toujours plus simple de partir d’une base et de ne pas réinventer la roue en partant de zéro !
Lors de la compilation d’un programme Arduino, l’interface vérifie que la librairie est bien disponible.
Si la librairie n’est pas incluse le programme affiche alors le message d’erreur suivant : « Librairie.h: No such file or directory ».
Vous avez d’autres messages d’erreur ? Pour les résoudre nous vous invitons à aller voir notre cours sur les erreurs de compilation ou encore celui sur les erreurs de téléversement.
Dans Arduino ide, aller dans outils puis gestionnaire de librairie :
Dans le gestionnaire de librairie, tapez le nom de la librairie que vous désirez, puis téléchargez la.
Vous pouvez importer directement une librairie depuis votre ordinateur en cliquant sur le gestionnaire de fichiers.
Il y a plusieurs manières de trouver une librairie pour un composant. Quand vous trouvez un code sur internet, il y a de grande chance que la librairie soit donnée avec, comme dans nos cours par exemple.
Néanmoins si vous voulez faire votre propre code, on vous conseille un site qui répertorie des librairies.
Voici une liste des librairies les plus utile pour écrire vos programmes :
Nom du composant | Librairie | Cours |
Télécommande infrarouge | IRremote.zip | Cours |
Capteur de température DHT11 | DHT.zip | Cours |
Module d’horloge DS3131 | DS3231.zip | Cours |
Capteur de distance HC-SR04 | HC-SR04.zip | Cours |
Digicode à touche | Keypad.zip | Cours |
Ecran LCD | LiquidCrystal.zip | Cours |
Rfid | Rfid.zip | Cours |
Servomoteur | Servo.zip | Cours |
Moteur pas à pas | Stepper.zip | Cours |
Si vous ne trouvez pas la librairie qui correspond à votre projet, vous pouvez créer la vôtre !
Pour pouvoir créer votre propre librairie sur Arduino, vous allez devoir coder en C++ sur un éditeur séparée d’Arduino IDE. Nous vous conseillons d’installer codeBlocks afin de programmer votre librairie.
Une fois votre librairie commencée, vous devez savoir qu’une bibliothèque Arduino est au minimum composée d’un fichier .h et d’un fichier cpp.
On va maintenant prendre l’exemple du code de la télécommande Bluetooth ci contre :
#define bouton_0 0
char c=0;
uint16_t NA;
void setup() {
pinMode(bouton_0, OUTPUT);
Serial.begin(9600);
analogReference(INTERNAL);
}
void loop() {
if (Serial.available() > 0){
c = Serial.read();
switch (c) {
//--------------bouton 0 pin RX-------------
case 'Q':
digitalWrite(bouton_0, HIGH);
break;
case 'R':
digitalWrite(bouton_0,LOW);
default:
break;
}
}
}
Pour pouvoir réduire ce code grâce à une librairie, on va d’abord devoir le regrouper en fonction.
Puis on va voir dans codeBlocks comment écrire notre librairie afin de simplifier le code.
Il vous faut créer deux fichiers : un en .h et l’autre en cpp :
Dans notre cas , voici notre fichier cpp :
#include "Arduino Factory.h"
Arduino Factory::programme()
{
if (Serial.available() > 0){
c = Serial.read();
switch (c) {
//--------------bouton 0 pin RX-------------
case 'Q':
digitalWrite(bouton_0, HIGH);
break;
case 'R':
digitalWrite(bouton_0,LOW);
default:
break;
}
}
}
On va ensuite définir les fonctions qui seront dans le fichier.h :
#ifndef ARDUINOFACTORY_H_INCLUDED
#define ARDUINOFACTORY_H_INCLUDED
class Arduino Factory
{
public:
void programme();
};
#endif // ARDUINOFACTORY_H_INCLUDED
Une fois ces deux fichiers terminées, vous pouvez les mettre dans un dossier les zipper celui-ci. Ce sera votre nouvelle librairie. Vous avez plus qu’a l’importer sur arduino IDE et à l’appeler dans votre programme comme ceci :
#include <Arduinofactory.h> // La librairie que l'on vient de créer
#define bouton_0 0
char c=0;
uint16_t NA;
void setup() {
pinMode(bouton_0, OUTPUT);
Serial.begin(9600);
analogReference(INTERNAL);
}
void loop() {
Arduinofactory.programme(); // La fonction programme que lon a crée dans le fichier cpp
}
Une librairie n’est pas indispensable dans un programme. Néanmoins elle vous permettra de faciliter la manipulation de composant ou encore d’alléger votre code. C’est toujours plus simple de partir d’une base et de ne pas réinventer la roue en partant de zéro !
Lors de la compilation d’un programme Arduino, l’interface vérifie que la librairie est bien disponible. Si la librairie n’est pas incluse le programme affiche alors le message d’erreur suivant : « Librairie.h: No such file or directory ».
Il existe deux méthodes que l’on présente dans le cours : la plus simple est : Dans Arduino ide, aller dans outils puis gestionnaire de librairie. Dans le gestionnaire de librairie, tapez le nom de la librairie que vous désirez, puis téléchargez la.