Utilisation de NeoPixel dans plusieurs fichiers

Bonjour,
je cherche comment faire fonctionner la librairie Adafruit_NeoPixel avec un projet contenant plusieurs fichiers.
il semble que mon niveau soit un peu pas pour cela.
j'ai fais plusieurs test mais je n'arrive à rien. Je ne sais pas comment passé la class créée en mode extern.
Voici mais fichiers test.
fichier test.ino :

#include <Adafruit_NeoPixel.h>

byte number_of_Leds = 2, leds_BUS_Pin = 3, pixelLed_Config = 6;

extern Adafruit_NeoPixel StripLed = Adafruit_NeoPixel(number_of_Leds, leds_BUS_Pin, pixelLed_Config + NEO_KHZ800);

void setup()
{
  StripLed.begin(); StripLed.clear(); StripLed.show();
  //StripLed.setPixelColor(0, 0x000020); StripLed.show();
  Test_Function();
}
void loop() {}

fichier extern.cpp :

#include <Arduino.h>
#include <Adafruit_NeoPixel.h>

Test_Function()
{
  StripLed.setPixelColor(0, 0x000020); 
  StripLed.setPixelColor(1, 0x000020);
  StripLed.show();
}

fichier extern.h :

#ifndef extern_h
#define extern_h

Test_Function();
#endif

Merci d'avance pour votre aides.

Bonjour,

Le principe c'est de déclarer la variable ou fonction dans un .h et de la définir dans un .cpp (ou .ino).
Il faut aussi inclure les .h nécessaires dans lle .cpp ou .ino.

.ino

#include <Adafruit_NeoPixel.h>
#include "extern.h"

byte number_of_Leds = 2, leds_BUS_Pin = 3, pixelLed_Config = 6;

Adafruit_NeoPixel StripLed = Adafruit_NeoPixel(number_of_Leds, leds_BUS_Pin, pixelLed_Config + NEO_KHZ800);

void setup()
{
  StripLed.begin(); StripLed.clear(); StripLed.show();
  //StripLed.setPixelColor(0, 0x000020); StripLed.show();
  Test_Function();
}
void loop() {}

extern.h

#ifndef extern_h
#define extern_h

void Test_Function();
extern Adafruit_NeoPixel StripLed;
#endif

extern.cpp

#include <Arduino.h>
#include <Adafruit_NeoPixel.h>
#include "extern.h"

void Test_Function()
{
  StripLed.setPixelColor(0, 0x000020); 
  StripLed.setPixelColor(1, 0x000020);
  StripLed.show();
}

J'ai inclus la déclaration de StripLed dans extern.h, mais il aurait été plus judicieux (plus structuré) de faire un fichier .cpp (par exemple global.cpp) et d'inclure la déclaration dans un .h (global.h).

Cela fonctionne parfaitement maintenant ! :smiley:
Un grand merci à toi kamill. :people_hugging: