Pixel du M5Stack Atom Lite

Librairies

Le contrôle du pixel du M5Stack Atom Lite nécessite les librairies suivantes :

  • M5Atom
  • FastLED

À ajouter dans l'espace global (au début du code)

Ajouter FastLED et un tableau de pixel :

// Inclure la librairie FastLED qui va gérer le pixel :
// https://github.com/FastLED/FastLED
#include <FastLED.h>

// Un tableau qui contient une variable de type CRGB.
// Il y a un seul pixel, mais il doit être dans un tableau.
// CRGB est un type de couleur défini par la lirairie FastLed :
// https://github.com/FastLED/FastLED/wiki/Pixel-reference#crgb-reference
CRGB mesPixels[1];

Configuration dans setup()

À ajouter dans setup :

  // Ajouter le pixel (il y en a un seul) du M5Atom à la librairie FastLED :
  FastLED.addLeds<WS2812, DATA_PIN, GRB>(mesPixels, 1);

Utilisation dans loop()

Pour changer la couleur du pixel, il faut changer la valeur des trois couleur du premier pixel du tableau :

  // Changer la couleur du premier pixel pour le blanc :
  mesPixels[0].red = 255;
  mesPixels[0].green = 255;
  mesPixels[0].blue = 255;

Après, il faut envoyer la mise à jour des couleurs des pixels à FastLED :

    // Mettre à jour le pixel :
    FastLED.show();

Exemple de code avec une couleur fixe

Copier et coller ce code dans un nouveau document Arduino :

// Exemple qui démontre comment allumer le Pixel sur un M5Stack Atom Lite.
// Le pixel alternera entre deux couleur à chaque demie-seconde.
// Par Thomas O Fredericks

// Inclure la librairie M5 (version pour M5Atom) :
// https://github.com/m5stack/M5Atom
#include <M5Atom.h>

// Inclure la librairie FastLED qui va gérer le pixel :
// https://github.com/FastLED/FastLED
#include <FastLED.h>

// Un tableau qui contient une variable de type CRGB.
// Il y a un seul pixel, mais il doit être dans un tableau.
// CRGB est un type de couleur défini par la lirairie FastLed :
// https://github.com/FastLED/FastLED/wiki/Pixel-reference#crgb-reference
CRGB mesPixels[1];

void setup() {
  // Démarrer la libraire M5 avec toutes les options de pré-configuration désactivées :
  M5.begin(false, false, false);

  // Démarrer la connexion sérielle :
  Serial.begin(115200);

  // Ajouter le pixel (il y en a un seul) du M5Atom à la librairie FastLED :
  FastLED.addLeds<WS2812, DATA_PIN, GRB>(mesPixels, 1);
}

void loop() {
  // Toujours inclure M5.update() au début de loop() :
  M5.update();
  
  // Changer la couleur du premier pixel pour le blanc :
  mesPixels[0].red = 255;
  mesPixels[0].green = 255;
  mesPixels[0].blue = 255;

    // Mettre à jour le pixel :
    FastLED.show();

}

Exemple de code avec une couleur aléatoire entre le rouge et l'orange

Copier et coller ce code dans un nouveau document Arduino :

// Exemple qui assigne une couleur aléatoire entre le rouge et le jaune
// au pixel pour simuler la lumière d'une chandelle.
// Par Thomas O Fredericks

// Inclure la librairie M5 (version pour M5Atom) :
// https://github.com/m5stack/M5Atom
#include <M5Atom.h>

// Inclure la librairie FastLED qui va gérer le pixel :
// https://github.com/FastLED/FastLED
#include <FastLED.h>

// Un tableau qui contient une variable de type CRGB.
// Il y a un seul pixel, mais il doit être dans un tableau.
// CRGB est un type de couleur défini par la lirairie FastLed :
// https://github.com/FastLED/FastLED/wiki/Pixel-reference#crgb-reference
CRGB mesPixels[1];

void setup() {
  // Démarrer la libraire M5 avec toutes les options de pré-configuration désactivées :
  M5.begin(false, false, false);

  // Démarrer la connexion sérielle :
  Serial.begin(115200);

  // Ajouter le pixel (il y en a un seul) du M5Atom à la librairie FastLED :
  FastLED.addLeds<WS2812, DATA_PIN, GRB>(mesPixels, 1);
}

void loop() {
  // Toujours inclure M5.update() au début de loop() :
  M5.update();

  // Changer la couleur pour un rouge-orangé :
  mesPixels[0].red = random(50, 256);
  mesPixels[0].green = random(0, 60);
  mesPixels[0].blue = 0;

  // Mettre à jour le pixel :
  FastLED.show();

}