Comment installer, utiliser et même créer une librairie sur Arduino ?

Introduction

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.

A quoi sert 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 !

Quand installer une librairie ?

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.

Installer une librairie Arduino

Méthode 1

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.

Méthode 2 : Importer une bibliothèque .zip

Vous pouvez importer directement une librairie depuis votre ordinateur en cliquant sur le gestionnaire de fichiers.

Ou trouver des librairies zip ??

Où trouver les librairies en zip ?

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.

Quelques librairies utiles

Voici une liste des librairies les plus utile pour écrire vos programmes :

Nom du composantLibrairieCours
Télécommande infrarougeIRremote.zipCours à venir
Capteur de température DHT11DHT.zipCours à venir
Module d’horloge DS3131DS3231.zipCours à venir
Capteur de distance HC-SR04HC-SR04.zipCours
Digicode à toucheKeypad.zipCours à venir
LCDLiquidCrystal.zipCours à venir
RfidRfid.zipCours à venir
ServoServo.zipCours à venir
StepperStepper.zipCours

Si vous ne trouvez pas la librairie qui correspond à votre projet, vous pouvez créer la vôtre !

Créer une librairie Arduino

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 :

  • ficher . h : permet de définir les fonctions que l’on va mettre dans la librairie
  • fichier .cpp : On va écrire les fonctions de la libairie dedans.

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
}