Étape 6: Active le cerveau
Au lieu de cela, j’ai utilisé l’exemple de code disponible dans la bibliothèque de TLC5940, (CircularLightBuffer.ino).
J’ai à modifié le code par un ajout de la valeur de constante dans le code, NUM_TLCS, ajouter cette ligne
#define TLC_TOTAL 3
puis remplacé NUM_TLCS dans le code avec TLC_TOTAL. Cette constante est le nombre de TCL5940 IC nous sommes effectivement utilisés. (NUM_TLCS a été définie comme 1) Et il était situé dans l’un du fichier d’en-tête. Je pensais que c’était beaucoup plus commode de substituer la valeur dans l’exemple de code pour le code d’origine et modifiez la valeur on.
/*
Un tampon circulaire de lumière. Si vous parvenez à construire un cercle de LEDs,
certainement envoyer des photos. En quoi consiste cette esquisse est de prendre un analogue
lecture hors analogiques broches 0 et l’ajouter à la valeur actuelle de la dernière LED.
Si la somme qui en résulte est supérieure à 4095, il désactive la LED,
dans le cas contraire définit LED 0 à la valeur de la somme.
Si vous la masse broche 12, configurera LED 0 à zéro.
Puis il déplace toutes les valeurs de LED un (donc mené 0 devient 1 LED) et définit
LED de 0 à la valeur décalée au large de la dernière LED (donc si un voyant est allumé, il ne sera
aller dans un cercle pour toujours).
Consultez l’exemple de BasicUse de configuration matérielle.
Alex Leone < acleone ~ à ~ gmail.com >, 2009-02-04 * /
#include « Tlc5940.h »
#include « tlc_shifts.h »
#define TLC_TOTAL 3
quelle broche analogique à utiliser
#define ANALOG_PIN 0
quel code pin pour effacer les LEDs avec
#define CLEAR_PIN 12
millis combien pour un tour complet sur tous les voyants
#define SCOPE_PERIOD (2000 * TLC_TOTAL)
#define SCOPE_PERIOD (2000 * 3)
#define LED_PERIOD SCOPE_PERIOD / (TLC_TOTAL * 16)
#define LED_PERIOD SCOPE_PERIOD / (3 * 16)
void setup()
{
pinMode (entrée, CLEAR_PIN) ;
digitalWrite (CLEAR_PIN, élevé) ; activez les pull-up
TLC.init() ;
}
void loop()
{
Changement renvoie la valeur déplacée hors de l’axe de la dernière
somme d’uint16_t = tlc_shiftUp() + analogRead(ANALOG_PIN) * 4 ;
Si (digitalRead(CLEAR_PIN) == LOW || somme > 4095)
somme = 0 ;
TLC.Set (0, somme) ;
TLC.Update() ;
Delay(LED_PERIOD) ;
}