Arduino Nano avec module TLC5947

Bonjour à tous,

Je teste ce jour un module TLC59747 avec une arduino Nano et une led RGB cathode commune.

Voila j'ai cablé de la la manière suivante :

Les broches : DIN CLK et LAT du module sur les broches D8 D9 D10 de mon arduino
Les broches : GND et V+ sur VIN et GND de mon arduino

La Led RGB cathode sur la ground de mon montage et les 3 broches RGB sur le channel 0 1 et 2

Mon module est bien alimenté qd je mets sous tension.

J'utilise le code suivant :

#include "Adafruit_TLC5947.h"

// How many boards do you have chained?
#define NUM_TLC5974 1

#define data   8
#define clock   9
#define latch   10
#define oe  -1  // set to -1 to not use the enable pin (its optional)

Adafruit_TLC5947 tlc = Adafruit_TLC5947(NUM_TLC5974, clock, data, latch);

void setup() {
  Serial.begin(9600);
  
  Serial.println("TLC5947 test");
  tlc.begin();
}

void loop() {
tlc.setPWM(0, 3000);
tlc.write();
}

Qd je mets

Je ne comprends pas je n'arrive pas à allumer ma led ...
J'ai pourtant suivant les schémas que j'ai trouvé sur ardafuit ...

Est ce que qq'un aurait une idée ?

Bypbop

il ne vous manque pas un setLED() pour définir la couleur ? à mon avis par défaut c'est 0,0,0 --> pas allumée.

void setLED(uint8_t lednum, uint16_t r, uint16_t g, uint16_t b);
Call this to set the RGB value for a group of 3 channels
lednum = LED number (channel number of the "red" pin divided by 3)
r = red level
g = green level
b = blue level

ensuite êtes vous sûr de votre LED RGB ? est-elle à anode ou cathode commune ? l'avez vous fait fonctionner sur une breadboard (avec des résistances de limitation de courant) ?

Bonjour j'ai essayé le setLED avec le code en exemple dans la librairies et cela ne marche pas non plus ...

Ma led RGB est en cathode commune oui elle fonctionne bien quand je la teste sur ma breadboard.

Cathode à la GND de mon montage et les 3 sorties RGB de ma led vont sur les pin 0 1 2 de mon module TLC5947.
J'ai suivi le mm montage que sur les exemples sur le site ardafruit ...

Je ne comprends vraiment pas !

Cordialement,
bypbop

Ma led RGB est en cathode commune

Hum.. je pense que c’est mal connecté...vu que vous avez les mauvaises LEDs

Dans la doc ils disent bien

Be sure you're using a common anode and not common cathode RGB LED!

Voilà le schéma de la carte:

Comme vous pouvez le voir, les V+ de la carte sont alimentés et chaînés 3 par 3 puis tous ensemble au + de l’alimentation (noté +24V ici) (donc sous tension) - ce n’est pas ce que pilote le TLC5947... il s’occupe de moduler en PWM les pins « négatives » qui vont laisser passer ou pas le courant —> c’est bien fichu pour un montage avec des leds à ANODE commune (sur les sites en Asie vous pouvez en acheter 20 pour 1€ ou 50 pour moins de 2€ frais de ports compris)

Bonjour à tous et encore merci pour votre aide.

Effectivement cela ne fonctionnait pas avec ma led RGB à cathode commune, j'avais vu lors de mon montage que les leds etaient avec une anode commune mais je me suis dit que comme c'etait un pwm en sortie cela fonctionnerait quand même.

Je mets un petit bout de code qui fonctionne avec des leds classiques en attendant de recevoir mes rgb anode commune.

#include "Adafruit_TLC5947.h"

// How many boards do you have chained?
#define NUM_TLC5947 1

#define data   8
#define clock   9
#define latch   10
#define oe  -1  // set to -1 to not use the enable pin (its optional)

Adafruit_TLC5947 tlc = Adafruit_TLC5947(NUM_TLC5947, clock, data, latch);

void setup() {
//  Serial.begin(9600);
//  
//  Serial.println("TLC5947 Module");
  tlc.begin();
}

void loop() {
  
tlc.setPWM(0, 4095);
tlc.setPWM(1, 4095);
tlc.setPWM(2, 4095);
tlc.write();
delay(100);
tlc.setPWM(0, 0);
tlc.setPWM(1, 0);
tlc.setPWM(2, 0);
tlc.write();
delay(100);
//for (uint16_t i=0; i<4096; i++){
//  tlc.setPWM(0, i);
//  tlc.write();
//  delay(1);
//}
}