[Résolu] Librairie maison

Merci à tous !!!
Je peux maintenant faire des bibliothèques.
J'ai gardé int car même en entrant la bonne bibliothèque ça ne compilait pas.

Voila un petit résumé de mon procédé :

créer 3 fichiers dans un dossier xExemple :

  • xExemple
  • xExemple.ino
  • xh
  • xh.ino
  • xcpp
  • xcpp.ino

modifier :

  • xExemple.ino
  • x.h
  • x.cpp

ouvrir xExemple.ino et dans l'onglet x.h entrer :

#ifndef
#define x_h

#include "Arduino.h" //Ou autre selon version
class x
{
  public :
    les fonctions
  private :
    les variables et constantes
};

#endif

puis entrer dans l'onglet x.cpp :

#include "Arduino.h"
#include "x.h"

x::x(int pin) { //cette partie se note x(int pin); dans le x.h elle sert à dire comment entrer les y.fonction(); dans le x.ino
//profitez-en pour définir les voies et les paramétrer
  _pin = pin; //définissez _pin dans private : de x.h et cette ligne sert à utiliser pin dans d'autres fonctions sous _pin
}

void x::fonction1() { //se note void fonction1(); dans x.h
  digitalWrite(_pin, HIGH); //agit sur la broche définie précédemment comme on le souhaite
  delay(1000);
  digitalWrite(_pin, LOW);
}

void x::fonction2(int etat) { //se note void fonction2(int etat); dans x.h
if(etat == 1) {
  digitalWrite(_pin, HIGH);
}
else {
  digitalWrite(_pin, LOW);
}

entrer dans l'onglet xExemple.ino :

#include "x.h"

x y(13); //Définit la broche et nomme "y" l'objet rattaché à la biblio. x (un objet peut être une ensemble de LEDs)

void setup() {
  y.fonction1(); //allume 1" la LED 13 et l'éteint
}

void loop() {
  y.fonction2(1); //allume la LED 13
  delay(3000); //pendant 3"
  y.fonction2(0); //et l'éteint
  delay(10000); //pendant 10"
}

Si ça compile, créez le dossier x dans librairies et mettez-y x.h et x.cpp
Remplacer dans x.ino #include "x.h" par #include <x.h>
Vous pouvez mettre xExemple.ino dans le un dossier "exemples" placé dans le dossier contenant x.h et x.cpp

Pour utiliser une fonction d'une bibliothèque par cette même bibliothèque :
x::fonction();