// Bibliotheque FastLed à inclure dans le projet
#include <FastLED.h>
// On défini combien de Led on dois gérer
#define NUM_LEDS 256
// Envoie des données sur la pin 3 de la carte Arduino
#define DATA_PIN 3
// L'horloge sera géré sur la pin 13
#define CLOCK_PIN 13
int couleur[2]={0,255};
//
CRGB leds[NUM_LEDS];
void setup() {
FastLED.setBrightness(10);
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}
void loop()
{
// Image de la martice Led en Hexadecimal
unsigned disp1[14][16]={
{0xFFFF,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0xFFFF},//0
{0x0000,0x7FFE,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x7FFE,0x0000},//1
{0x0000,0x0000,0x3FFC,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x3FFC,0x0000,0x0000},//2
{0x0000,0x0000,0x0000,0x1FF8,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1FF8,0x0000,0x0000,0x0000},//3
{0x0000,0x0000,0x0000,0x0000,0x0FF0,0x0810,0x0810,0x0810,0x0810,0x0810,0x0810,0x0FF0,0x0000,0x0000,0x0000,0x0000},//4
{0x0000,0x0000,0x0000,0x0000,0x0000,0x07E0,0x0420,0x0420,0x0420,0x0420,0x07E0,0x0000,0x0000,0x0000,0x0000,0x0000},//5
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x03C0,0x0240,0x0240,0x03C0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},//6
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0180,0x0180,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},//7
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x03C0,0x0240,0x0240,0x03C0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},//6
{0x0000,0x0000,0x0000,0x0000,0x0000,0x07E0,0x0420,0x0420,0x0420,0x0420,0x07E0,0x0000,0x0000,0x0000,0x0000,0x0000},//5
{0x0000,0x0000,0x0000,0x0000,0x0FF0,0x0810,0x0810,0x0810,0x0810,0x0810,0x0810,0x0FF0,0x0000,0x0000,0x0000,0x0000},//4
{0x0000,0x0000,0x0000,0x1FF8,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1FF8,0x0000,0x0000,0x0000},//3
{0x0000,0x0000,0x3FFC,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x2004,0x3FFC,0x0000,0x0000},//2
{0x0000,0x7FFE,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x7FFE,0x0000},//1
};
for(int k=0;k<14;k++)
{
for(int i=0; i<16;i++)
{
for(int j=0;j<16;j++)
{
// Ici la fonction permet de prendre la dernière valeur de la matrice
long IMAGE = (disp1[k][i]&0x8000)/32768;
// Soit IMAGE = 1 ou IMAGE = 0
leds[j+16*i] = CRGB(0,0,IMAGE*255);// Si IMAGE = 1 alors l'on obtient CRGB(0,0,255) pour la led[j+16*i]
disp1[k][i] = disp1[k][i]<<1; // On décale la matrice de 1 de la ligne k
}
}