J'ai fais quelques modif et chez moi cela compile :
Programme principal :
#include <numLED.h>
//Déclaration de l'objet
numLED monobjet;
void setup() {
monobjet.begin(8,2,3,4,5,6,7);
}
void loop() {
for(int a = 0; a <= 9; a++) {
monobjet.write(a);
}
}
numLED.h
//numLED.h
#ifndef numLED_h
#define numLED_h
class numLED
{
public:
void begin(int h, int hg, int hd, int m, int bg, int bd, int b);
void write(int chiffre);
void clear();
void draw(int eh, int ehg, int egd, int em, int ebg, int ebd, int eb);
int h;
int hg;
int hd;
int m;
int bg;
int bd;
int b;
};
#endif
numLED.cpp
//numLED.cpp
#include <stdint.h>
#if defined(ARDUINO) && ARDUINO >= 100
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
#include "numLED.h"
void numLED::begin(int h, int hg, int hd, int m, int bg, int bd, int b){
pinMode(h, OUTPUT);
pinMode(hg, OUTPUT);
pinMode(hd, OUTPUT);
pinMode(m, OUTPUT);
pinMode(bg, OUTPUT);
pinMode(bd, OUTPUT);
pinMode(b, OUTPUT);
}
void numLED::write(int chiffre) {
switch (chiffre) {
case 0: draw(HIGH, HIGH, HIGH, LOW , HIGH, HIGH, HIGH); break;
case 1: draw(LOW , LOW , HIGH, LOW , LOW , HIGH, LOW ); break;
case 2: draw(HIGH, LOW , HIGH, HIGH, HIGH, LOW , HIGH); break;
case 3: draw(HIGH, LOW , HIGH, HIGH, LOW , HIGH, HIGH); break;
case 4: draw(LOW , HIGH, HIGH, HIGH, LOW , HIGH, LOW ); break;
case 5: draw(HIGH, HIGH, LOW , HIGH, LOW , HIGH, HIGH); break;
case 6: draw(HIGH, HIGH, LOW , HIGH, HIGH, HIGH, HIGH); break;
case 7: draw(HIGH, LOW , HIGH, LOW , LOW , HIGH, LOW ); break;
case 8: draw(HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH); break;
case 9: draw(HIGH, HIGH, HIGH, HIGH, LOW , HIGH, HIGH); break;
}
}
void numLED::clear(void) {
draw(LOW, LOW, LOW, LOW, LOW, LOW, LOW);
}
void numLED::draw(int eh, int ehg, int egd, int em, int ebg, int ebd, int eb) {
digitalWrite(h , eh );
digitalWrite(hg , ehg);
digitalWrite(hd , egd);
digitalWrite(m , em );
digitalWrite(bg , ebg);
digitalWrite(bd , ebd);
digitalWrite(b , eb );
}