Pixels RGB FLORA-CodeSource

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Préambule

FLORA-RGB-Pixels-CODE-01.jpg
Crédit: AdaFruit Industries www.adafruit.com

Connectez votre FLORA et l'ordinateur avec un câble USB.

FLORA-RGB-Pixels-CODE-02.png
Crédit: AdaFruit Industries www.adafruit.com

Pixels version 1

Vous pouvez néanmoins trouver ces informations directement sur le tutoriel d'AdaFruit (anglais)

Pixels version 2

Cette nouvelle génération de Pixels Flora est distribué par MCHobby. Son avantage est de supporter un bus plus rapide.

Installez la Librairie NeoPixel et ouvrez l'exemple strandtest

File-->Examples-->Adafruit_NeoPixel-->strandtest.

Fichier-->Exemples-->Adafruit_NeoPixel-->strandtest.


{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Cela ouvrira une fenêtre contenant le sketch/croquis d'exemple. Téléversez/téléchargez le sur votre FLORA à l'aide du bouton adéquat.

FLORA-RGB-Pixels-CODE-11.jpg
Crédit: AdaFruit Industries www.adafruit.com

Une fois téléversé avec succès sur FLORA, le pixel commencera a flasher et afficher différent dégradés de couleur.

Félicitation, vous avez testé votre pixel!

Test en usine

Le programme commenté

Le code de l'exemple est repris ci-dessous à titre d'exemple avec une traduction des commentaires pour vous aider a comprendre le fonctionnement du programme.

Il n'est pas essentiel de comprendre tous les tenants et aboutissants de ce programme pour faire vos propres explorations.

Strip? KASECO???

Le programme de démonstration ci-dessous est conçu pour un strip de pixel. Comprenez une "bande/ruban de pixel".

L'objet principal est d'ailleurs nommé "strip". Que vous pilotez une (1) ou plusieurs (x) LEDs, vous créez toujours un "strip" de LED... soit de une (1) LED, soit de plusieurs (x) LEDs

Si vous ne le saviez pas, les pixels (tout comme les Neo Pixels) sont chaînables. Il suffit de les raccordez les un derrière les autres.

Le code source

// Programme d'exemple strandtest par AdaFruit Industries USA.
// AdaFruit est une marque déposée par Limor Fried.
// Produit AdaFruit: http://www.adafruit.com/products/1260 (voir aussi le lien chez MCHobby ci-dessous)
// Tutoriel Anglais: http://learn.adafruit.com/flora-rgb-smart-pixels
//
// --- Traduction par MCHobby.be --- Translation by MCHobby.be ---
//
// Traduction des commentaires par MCHobby.be distributeur AdaFruit.
// Licence CC-BY-SA pour la traduction.
// 
// Produit chez MCHobby: http://mchobby.be/PrestaShop/product.php?id_product=267 
//
// Voir tutoriel Français sur notre WIKI
//    http://mchobby.be/wiki/index.php?title=Pixels_RGB_FLORA
// Voir la gamme Flora chez MCHobby
//    http://mchobby.be/PrestaShop/category.php?id_category=37
//
// MCHobby investit du temps et de l'argent dans la traduction de tutoriel. 
// Merci de nous aider à poursuivre nos effort en 
// 
// Toute duplication doit reprendre la totalité de cette entête.
// ---------------------------------------------------------------  

#include <Adafruit_NeoPixel.h>

#define PIN 6

// Parametre 1 = Nombre de pixels dans la chaine
// Parametre 2 = Numero de la broche FLORA (la plupart sont valides)
// Parametre 3 = Type de pixel, ajoutez les valeurs suivantes en fonction des besoins:
// NEO_KHZ800 flux de communication à 800 KHz (bitstream, convient à la plupart des NeoPixel avec LEDs WS2812)
// NEO_KHZ400 400 KHz (Pixels FLORA classique 'v1' (pas la v2), pilote WS2811)
// NEO_GRB Les pixels sont branchés en bitstream GRB (la plupart des produits NeoPixel)
// NEO_RGB Les pixels sont branchés pour un bitstream RGB (v1 FLORA pixels, mais pas la v2)


// Strip représente une chaine de pixels. Dans cet exemple, il y a 
// 60 pixels chainé.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.show(); // initialise tous les pixels a 'off' (éteind)
}

void loop() {
  // Voici quelques appels de routine pour montrer comment 
  //     commander les Pixels.
  // Voyez la definitions des routines plus bas.
  colorWipe(strip.Color(255, 0, 0), 50); // Rouge 
  colorWipe(strip.Color(0, 255, 0), 50); // Vert
  colorWipe(strip.Color(0, 0, 255), 50); // Bleu

  // Arc en ciel
  rainbow(20); 

  // Arc en ciel cyclique
  rainbowCycle(20);
}

// Remplir les pixels les uns après les autres avec une couleur
//  c: le code couleur créé à l'aide de strip.Color.
//  wait: temps a attendre en milli seconde entre la 
//        modification de couleur de deux pixels successif 
//
void colorWipe(uint32_t c, uint8_t wait) {

  // Pour chacun des pixels dans le strip.
  for(uint16_t i=0; i<strip.numPixels(); i++) {
      // activer la couleur C sur le pixel numéro I du strip
      strip.setPixelColor(i, c);
      // Activer la couleur 
      strip.show();
      // Attendre x millisecondes
      delay(wait);
  }
}

// Routine Arc-En-Ciel (Rainbow signifie Arc-En-Ciel)
// wait - temps attendre en milli seconde entre la modication de 
//        couleur du strip de pixels (en entier).
//
void rainbow(uint8_t wait) {
  uint16_t i, j;

  // la routine exécute 256 pas.
  for(j=0; j<256; j++) {
    // Pour chacun des Pixels ... (attribuer une nouvelle couleur)
    for(i=0; i<strip.numPixels(); i++) {
      // Utiliser la fonction Wheel pour attribué une couleur
      // qui dépend de la position dans le strip et du pas J
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show(); // applique les modifications de couleur
    delay(wait);  // Attente entre deux modifications 
  }
}

// Légèrement différent, cela routine distribue l'arc en ciel de 
// facon équilibré 
//
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  // 5 cycles de toutes les couleurs sur la roue des couleurs
  for(j=0; j<256*5; j++) { 
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    strip.show(); // active les couleurs assignées 
    delay(wait); // Attendre le delay désiré (en ms)
  }
}

// Fonction Wheel - Wheel signifie ROUE et fait référence à 
//    la roue des couleurs.
// la valeur WheelPos va de 0 à 255 pour obtenir une valeur de couleur.
// Les couleurs suivent la transition de rouge - vert - bleu - retour a rouge.
uint32_t Wheel(byte WheelPos) {
  if(WheelPos < 85) {
   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } else if(WheelPos < 170) {
   WheelPos -= 85;
   return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else {
   WheelPos -= 170;
   return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}

Source: Flora RGB Smart Neo Pixels. Crédit AdaFruit Industries

Créé par Becky Stern pour AdaFruit Industries.
Traduit par Meurisse D. pour MCHobby.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com