Salut tout le monde,
Avant tout je veux vous prévenir que je suis un grand débutant en Arduino, alors soyez indulgent

Alors en fait, je voudrais contrôler un afficheur 7 segments à partir de mon Arduino (Duemilanove) pour écrire différents chiffres. J'ai donc tout programmé en allumant et éteignant chaque segment (désignés par une lettre allant de A à G) un par un, ça marche mais c'est assez lourd, c'est donc pour ça que j'aimerais créer une librairie pour simplifier mon code.
J'ai donc créé ces deux fichiers:
#ifndef a7seg_h
#define a7seg_h
#include "Arduino.h"
class a7seg
{
public:
A7segA(int pin); //associe broche a A
A7segB(int pin); //associe broche a B
A7segC(int pin); //associe broche a C
A7segD(int pin); //associe broche a D
A7segE(int pin); //associe broche a E
A7segF(int pin); //associe broche a F
A7segG(int pin); //associe broche a G
void aff1(); //affiche 1
void aff2(); //affiche 2
void aff3(); //affiche 3...
void aff4();
void aff5();
void aff6();
void aff7();
void aff8();
void aff9();
void aff0();
private:
int A;
int B;
int C;
int D;
int E;
int F;
int G;
};
#endif
et
/*
a7seg.cpp - Bibliothèque pour controler un afficheur 7 segments.
*/
#include "Arduino.h"
#include "a7seg.h"
a7seg::A7segA(int pin) //Associe broche a A
{
pinMode(A, OUTPUT);
pin = A;
}
a7seg::A7segB(int pin) //associe broche a B
{
pinMode(B, OUTPUT);
pin = B;
}
a7seg::A7segC(int pin) //associe broche a C
{
pinMode(C, OUTPUT);
pin = C;
}
a7seg::A7segD(int pin) //associe broche a D ...
{
pinMode(D, OUTPUT);
pin = D;
}
a7seg::A7segE(int pin)
{
pinMode(E, OUTPUT);
pin = E;
}
a7seg::A7segF(int pin)
{
pinMode(F, OUTPUT);
pin = F;
}
a7seg::A7segG(int pin)
{
pinMode(G, OUTPUT);
pin = G;
}
void a7seg::aff1() //affiche 1
{
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
}
void a7seg::aff2() //affiche 2
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
}
void a7seg::aff3() //affiche 3
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
}
void a7seg::aff4() //affiche 4
{
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void a7seg::aff5() //affiche 5
{
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void a7seg::aff6() //affiche 6
{
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void a7seg::aff7() //affiche 7
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
}
void a7seg::aff8() //affiche 8
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void a7seg::aff9() //affiche 9
{
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
void a7seg::aff0() //affiche 0
{
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
}
Seulement lorsque j'essaye d'inclure cette librairie j'ai ces messages:
In file included from sketch_may07a.cpp:1:
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:10: error: ISO C++ forbids declaration of 'A7segA' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:11: error: ISO C++ forbids declaration of 'A7segB' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:12: error: ISO C++ forbids declaration of 'A7segC' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:13: error: ISO C++ forbids declaration of 'A7segD' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:14: error: ISO C++ forbids declaration of 'A7segE' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:15: error: ISO C++ forbids declaration of 'A7segF' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:16: error: ISO C++ forbids declaration of 'A7segG' with no type
J'ai bien compris que je déclarais mal les fonctions qui servent à initialiser mes broches mais je ne sais pas comment y remedier (si je mets void ça ne marche pas non plus)

Alors je sollicite votre aide pour résoudre ce problème (voir même m'aider à simplifier encore plus ces fichiers)

Merci d'avance
Adri