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();