Problème fonctionnement led Apa102

Bonjour,

Je reviens vers concernant les bandeaux leds.
Je vous met le code que j'utilise ainsi que la description du montage.

Mon problème est le suivant : plus rien ne fonctionne après plusieurs essaies, et plusieurs codes, plusieurs bandeaux apa102 et 2 cartes arduino différentes.

Ce qui me fait le plus perdre mes moyens c'est que j'ai vu le bandeau fonctionner avec les différents codes que j'ai fait... et maintenant plus rien avec aucunes cartes, aucuns bandeaux, aucuns codes. je ne comprends absolument pas...

J'ai d'abord pensé à un problème de bandeau et l'ai remplacé par 2 autres.
résultat => aucuns bandeaux n'a fonctionné

J'ai ensuite pensé à un problème de carte et l'ai remplacé par une méga
résultat => aucuns bandeaux n'a fonctionné...

J'ai ensuite ( sans grande conviction) pensé à un problème de code et l'ai remplacé par un autre code (qui fonctionnait également...
résultat => aucuns bandeaux n'a fonctionné...

Je vous joint le code ainsi que la description du montage peut-être trouverez vous quelques choses qui m'est passé par dessus la tete...

concernant le cablage réalisé le voici :

5v led apa102 branché au 5v de l'arduino
gnd led apa102 branché au gnd de l'arduino
data led apa102 branché à la pin 8 de l'arduino
clock led apa102 branché à la pin 7 de l'arduino

#include <FastLED.h> 

#define NUM_LEDS 30  // Nombre de LEDS
#define LED_TYPE    APA102
#define COLOR_ORDER BGR // 
CRGB leds[NUM_LEDS];
#define DATA_PIN    8 
#define CLK_PIN     7 
#define BRIGHTNESSMAX 64

void setup() 
{
  FastLED.addLeds<LED_TYPE, COLOR_ORDER>(leds, NUM_LEDS);
  FastLED.setBrightness(BRIGHTNESSMAX);
  FastLED.clear(true);
}
void loop() 
{
  delay(1);
  for (int dot = 18; dot >=-1; dot--) { // on fait une boucle de 0 au nombre de LED

    leds[0] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu
   leds[1] = CRGB::Orange; // on dit que la LED en cours devient verte
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu    
   leds[2] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
    delay(30); // on attend un peu    
   leds[3] = CRGB::Orange; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu 
   leds[4] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu      
   leds[5] = CRGB::Orange; // on dit que la LED en cours devient verte
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu      
   leds[6] = CRGB::Orange; // on l'éteint pour le prochain 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
    delay(30); // on attend un peu   
   leds[7] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
    delay(30); // on attend un peu     
   leds[8] = CRGB::Orange; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu   
   leds[9] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
    delay(30); // on attend un peu     
   leds[10] = CRGB::Orange; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu   
   leds[11] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu      
   leds[12] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu      
   leds[13] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
    delay(30); // on attend un peu    
   leds[14] = CRGB::Orange; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu
   leds[15] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
    delay(30); // on attend un peu     
   leds[16] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu      
   leds[17] = CRGB::Orange; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu     
   leds[18] = CRGB::Orange; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
    delay(30); // on attend un peu
   
  delay(300);
    
   leds[0] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
   leds[1] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)   
   leds[2] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)    
   leds[3] = CRGB::Black; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
   leds[4] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)     
   leds[5] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)    
   leds[6] = CRGB::Black; // on l'éteint pour le prochain 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)   
   leds[7] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)      
   leds[8] = CRGB::Black; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)  
   leds[9] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)    
   leds[10] = CRGB::Black; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)   
   leds[11] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)       
   leds[12] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)     
   leds[13] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)     
   leds[14] = CRGB::Black; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)
   leds[15] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)    
   leds[16] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)   
   leds[17] = CRGB::Black; // on dit que la LED en cours devient 
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes) 
   leds[18] = CRGB::Black; // on l'éteint pour le prochain FastLED.show()
    FastLED.show(); // on affiche toutes les LEDs (les autres sont éteintes)    
}}