Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Composants et fournitures

Composant Quantité
Arduino Nano R3 1
Arduino UNO 1
Bande de pixels 60 pixels/mètre (WS2812B) 1
Résistance 470 Ω 1
Alimentation 5 V, 40 A 1
Plaque d'essai (breadboard) 1
Câbles Dupont 1 lot

Outils et machines nécessaires

Applications et services en ligne

À propos de ce projet

Ce tutoriel est disponible en anglais et en español (descendez pour la version espagnole).

Qu'est-ce que Vixen Lights ?

Vixen Lights est un logiciel d'automatisation d'éclairage pour les projets DIY. La version 3.x a été entièrement repensée pour prendre en charge les lumières « pixel » adressables. Vous pouvez le télécharger sur vixenlights.com.

Qu'est-ce qu'un pixel ?

Un pixel est un groupe de 3 diodes électroluminescentes (DEL) comprenant les trois couleurs primaires (rouge, vert et bleu). L'intensité de ces trois couleurs peut être variée pour créer d'autres couleurs. Les pixels WS2812B utilisés ici intègrent une puce IC qui reçoit les données sur un port, affiche l'information qui lui est adressée et transmet les données au pixel suivant. Pour cet exemple, j'ai acheté des bandes de 5 mètres avec 30 pixels par mètre, soit 150 pixels au total. Les bandes RGB adressables « pixel » s'identifient facilement car elles ont 3 fils : un pour l'alimentation, un pour la masse et un pour les données. En revanche, les bandes RGB « non adressables » en ont 4 : un pour l'alimentation et un par couleur (rouge, vert, bleu).

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape
Bande de pixels WS2812B avec 3 fils : +5V, GND, Data

Alimentation

Les pixels RGB consomment beaucoup d'énergie. Bien que l'Arduino puisse alimenter quelques pixels via son régulateur intégré, vous serez rapidement limité. Il faut donc une alimentation externe. La tension dépend de vos LED (ici 5 V). Chaque pixel au blanc plein consomme environ 60 mA. Pour 150 pixels, cela représente environ 9 A.

Les fines pistes de cuivre des bandes LED créent une résistance qui fait chuter la tension. Si la tension chute trop, vous aurez scintillement, lumière faible ou extinction. Pour éviter cela, il faut « réinjecter » l'alimentation à intervalles réguliers dans la bande : coupez la bande, reliez le fil DATA en jumper, et ajoutez de nouveaux fils d'alimentation et de masse vers l'alimentation. Attention : la longueur des fils d'alimentation cause aussi une chute de tension. Utilisez des fils suffisamment gros selon vos besoins en courant. Plus l'alimentation est puissante, mieux c'est. J'utilise des alimentations de 40 A et 60 A. Si vous utilisez plusieurs alimentations, reliez toutes les masses ensemble.

Contrôleur Arduino

La plupart des cartes Arduino grand public peuvent servir de contrôleur entre l'ordinateur exécutant Vixen Lights et les bandes de pixels RGB. Les limitations matérielles (vitesse processeur, RAM, stockage) existent, mais le facteur limitant principal est la vitesse du port série. La plupart des Arduino ne dépassent pas 115 200 bauds. Pour 150 pixels (450 canaux de couleur), la transmission prend environ 45 ms, permettant un rafraîchissement toutes les 50 ms (20 Hz).

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape
Branchement de l'Arduino à la bande de pixels

Le code de ce tutoriel est basé sur le travail de David Hunt (blog.huntgang.com).

Configuration du port série dans Vixen

Pour utiliser l'Arduino comme contrôleur, vous devez le configurer dans Vixen 3.x.

Étape 1 : Ajouter un contrôleur série générique

Dans le menu en haut à droite, ajoutez un « Generic Serial Controller ».

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 2 : Définir le nombre de sorties

Le nombre de sorties doit être 3 × le nombre de pixels. Pour 30 pixels, réglez sur 90 sorties.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 3 : Configurer le port COM

Cliquez sur l'icône d'engrenage en bas à droite. Sélectionnez le port COM de votre Arduino (ex: COM13) et réglez le baud rate à 115 200. Laissez les autres paramètres par défaut.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 4 : Ajouter le nombre de pixels dans l'en-tête

Entrez le nombre de pixels (≤ 300) sur 3 chiffres. Pour 30 pixels, entrez « 030 ». L'Arduino devrait maintenant clignoter, indiquant qu'il reçoit les données série.

Configurer l'élément pour les pixels

Étape 5 : Créer l'élément « Pixel Strip »

Dans le menu déroulant en haut à gauche, sélectionnez « Single Item », cliquez sur le bouton vert « + » et nommez-le « Pixel Strip ».

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 6 : Ajouter les pixels individuels

Faites un clic droit sur « Pixel Strip » → « Add Multiple ». Sélectionnez « Numbered Items », nommez (ex: « Pixel Strip ») et définissez le nombre de pixels (30 ici). Validez.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 7 : Configurer la gestion des couleurs

Sélectionnez « Pixel Strip », puis dans « Configure » → « Color Handling », choisissez : « They can be any color: they are full RGB and mix to make any color. »

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 8 : Associer l'élément au contrôleur (Patch)

Sélectionnez « Pixel Strip » à gauche et le contrôleur série générique à droite. Le nombre de « Unconnected Patch Points » doit correspondre. Cliquez sur « Patch Elements to Controllers ».

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 9 : Vérification

La vue graphique devrait ressembler à ceci :

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Créer ma première séquence

Étape 10 : Nouvelle séquence

Ouvrez Vixen et cliquez sur « New Sequence… »

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 11 : Importer l'audio

Menu Tools → Import Audio (format MP3 recommandé).

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 12 : Ajuster la timeline

Utilisez les outils de zoom (+/-) pour ajuster la timeline.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 13 : Détecter les temps (Beat/Bar Detector)

Tools → Audio → Beat/Bar Detector. Des lignes blanches apparaissent, alignées sur les temps de la musique.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 14 : Ajouter un effet « Chase »

Menu Effects → Basic Lighting ou Pixel Lighting → Chase. Glissez-déposez sur la ligne « Pixel Strip », redimensionnez avec la souris.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 15 : Personnaliser l'effet

Sélectionnez l'effet, le menu de droite permet de modifier direction, couleur, pulsation, profondeur, etc. Activez « Effect Preview » pour visualiser.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Étape 16 : Lecture

Cliquez sur « Play » en haut à gauche. Amusez-vous ! De nombreux exemples sont sur YouTube.

Note : Une fois l'Arduino connecté et Vixen ouvert, la LED RX de l'Arduino clignote, indiquant qu'il attend les instructions de Vixen.

Español - Versión en español

El tutorial completo en español se encuentra al final de la page originale. Les étapes sont identiques : configurar el puerto serial, crear el elemento Pixel Strip, hacer el patch, y crear la secuencia con efectos.

Code

Bibliothèque FastLED

Installez la bibliothèque FastLED via le gestionnaire de bibliothèques de l'Arduino IDE (recherchez « FastLED ») ou téléchargez-la depuis fastled.io.

Code pour Arduino

/* Vixen Lights 3.x - Arduino Generic Serial for Addressable Pixels
 * Branchez la ligne de données (WS2811 ou WS2812) sur la broche 6 de l'Arduino.
 * Installez la bibliothèque FastLED depuis https://fastled.io
 * Alimentez vos bandes de pixels depuis une alimentation externe.
 * Configurez un Generic Serial Controller dans Vixen Lights 3.x avec 3 x pixels pour le nombre de canaux.
 * Configurez le contrôleur à 115200, 8, none, 1.
 * Créez votre élément et ajoutez "Multiple Items (1 x number of pixels)".
 * Sélectionnez vos éléments pixels et définissez-les comme pixels RGB avant de les patcher aux sorties du contrôleur.
 * Tutoriel complet : blog.huntgang.com
 * Créé le 8 novembre 2014 par Richard Sloan - www.themindfactory.com et David Hunt - blog.huntgang.com
 * Version 1.4
 */
#include <FastLED.h>

#define NUM_LEDS 300
#define DATA_PIN 6

CRGB leds[NUM_LEDS];

void setup() {
  Serial.begin(115200);
}

void loop() {
  int cnt;
  unsigned int num_leds;
  unsigned int d1, d2, d3;

  for(;;) {
    cnt = 0;

    // Attendre l'en-tête '>>'
    while(!Serial.available());
    if(Serial.read() != '>') continue;
    while(!Serial.available());
    if(Serial.read() != '>') continue;

    // Lire les 3 chiffres du nombre de pixels
    while(!Serial.available()); d1 = Serial.read();
    while(!Serial.available()); d2 = Serial.read();
    while(!Serial.available()); d3 = Serial.read();

    // Attendre la fin d'en-tête '<<'
    while(!Serial.available());
    if(Serial.read() != '<') continue;
    while(!Serial.available());
    if(Serial.read() != '<') continue;

    // Calculer le nombre de pixels
    num_leds = (d1-'0')*100 + (d2-'0')*10 + (d3-'0');
    if(num_leds > NUM_LEDS) continue;

    FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, num_leds);

    // Lire les valeurs RGB pour chaque pixel
    do {
      while(!Serial.available()); leds[cnt].r = Serial.read();
      while(!Serial.available()); leds[cnt].g = Serial.read();
      while(!Serial.available()); leds[cnt++].b = Serial.read();
    } while(--num_leds);

    FastLED.show();
  }
}

Schémas

Utilisez une résistance de 470 Ω sur la ligne de données.

Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape
Branchement avec résistance 470 Ω sur la ligne DATA
Configurer des NeoPixels avec Vixen Lights et Arduino : Guide étape par étape

Processus de fabrication

  1. Contrôler la Luminosité de LEDs par PWM avec un Bouton Poussoir sur Arduino Mega
  2. Construire un dispositif de lévitation ultrasonique avec Arduino – Guide étape par étape
  3. Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
  4. Construire un Voltmètre Intelligent avec Arduino et Smartphone – Projet DIY Facile
  5. Enregistreur de Température et Humidité Arduino avec DHT11 et Shield Ethernet
  6. Bocal Intelligent IoT avec ESP8266, Arduino et Capteur Ultrasonique – Surveillance Temps Réel
  7. Mesure Précise de Fréquence et Rapport Cyclique avec Arduino UNO
  8. Mesurer la masse de la Terre avec Arduino : Guide DIY étape par étape
  9. Construire une Boussole Numérique Temps Réel avec Arduino et Processing