Go Down

Topic: [Résolu] Librairie maison (Read 3 times) previous topic - next topic

numero_744

#25
Sep 15, 2012, 10:59 am Last Edit: Sep 15, 2012, 06:02 pm by numero_744 Reason: 1
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 :
Code: [Select]
#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 :
Code: [Select]
#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 :
Code: [Select]
#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();
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

numero_744

#26
Sep 19, 2012, 07:35 pm Last Edit: Sep 21, 2012, 09:50 pm by numero_744 Reason: 1
Salut !
Voici un petit cadeau : une librairie morse nommée "sMorse" avec deux exemples qui vous aideront mieux à la comprendre que je ne peux vous l'expliquer...
Il y a de 'A' à 'Z', de '0' à '9', ' ' et '.'

!!! : n'entrez qu'en majuscules avec un guillemet unique de chaque côté et un par un.

Salut au second sens !
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

numero_744

Bonjour, je relance cette discussion car j'ai un problème :
Code: [Select]

error: void value not ignored as it ought to be

Qu'est-ce que cela signifie ?
Merci !
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

barbudor

C'est généralement plus efficace de donner tout le contexte : copie complète de la fenêtre de compilation et eventuellement le sketch.

Mais dans ton cas je suppose que tu cherches à utiliser le retour d'une fonction void genre :

Code: [Select]

void toto()
{
}

a = toto();
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

numero_744

Merci barbudor pour ta réponse.
C'est tout ce qu'il renvoie en précisant le lieu de l'erreur.
Je cherche bien à renvoyer une valeur :
Code: [Select]

void bibliotheque::fonction() {
  return valeur_enregistree;
}
- Arduino UNO R3;
- PowerBook G4;
  - Arduino (C)
  - Eclipse (Java)
  - wxLua (µLua)
  - TextWrangler (HTML + JS)
- (3)DS et bientôt R4 (po

Go Up