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

Comment configurer NeoPixels avec Vixen Lights et Arduino

Composants et fournitures

Arduino Nano R3
× 1
Arduino UNO
× 1
Pixe Strip 60 pixels x mètre
× 1
Résistance 470 ohms
× 1
Alimentation 5v, 40Am
× 1
Planche à pain (générique)
× 1
câbles dupont
× 1

Outils et machines nécessaires

Fer à souder (générique)
soudure à l'étain

Applications et services en ligne

Vixen Lights
Arduino IDE

À propos de ce projet

Ce didacticiel est en anglais et en espagnol (este tutorial esta en ingles y español), faites défiler vers le bas pour changer d'idiome.

Qu'est-ce que Vixen Lights ?

Vixen Lights est un logiciel pour les écrans d'automatisation d'éclairage à faire soi-même. La dernière version 3.x était une refonte complète pour prendre en charge les lumières « pixels » adressables.

Vous pouvez le télécharger sur http://www.vixenlights.com/downloads/ Ce tutoriel est basé sur la version 3.4u2 64 Bit.

Qu'est-ce qu'un Pixel ?

Un pixel est un groupe de 3 diodes électroluminescentes (DEL) composées des trois couleurs primaires (rouge, vert et bleu). L'intensité de ces trois couleurs (LED) peut être modifiée pour faire d'autres couleurs. Les pixels WS2812B que j'utilise dans mon exemple incluent une puce de circuit intégré (IC) qui accepte les données sur un port, affiche les informations qui lui sont adressées et transmet les données au pixel suivant. Pour mon écran, j'ai acheté des chaînes de 5 mètres qui ont 30 pixels pour chaque mètre ou 150 pixels pour 5 mètres. Les bandes "pixels" RVB adressables peuvent généralement être identifiées car elles ont 3 fils. Un pour l'alimentation, un pour la terre et un pour les données. En revanche, les bandes RVB « muettes » peuvent être identifiées par leur présence de 4 fils. Généralement un pour l'alimentation et un pour chaque couleur Rouge, Vert et Bleu

Les pixels RVB utilisent BEAUCOUP de puissance. Bien que la carte Arduino puisse alimenter quelques pixels à l'aide du régulateur de tension intégré, vous manquerez rapidement d'énergie. Par conséquent, nous voudrons utiliser une alimentation externe pour alimenter les lumières. La tension requise dépendra des lumières spécifiques que vous avez achetées. Les lumières que j'utilise sont 5V (volt). Une autre exigence d'une alimentation est de s'assurer qu'elle a suffisamment de puissance pour prendre en charge le nombre de pixels que vous utilisez. Chaque pixel en blanc complet nécessite environ 60 milliampères. pour 150 pixels RVB, ce qui correspond à environ 9 A (ampères).

Malheureusement, les fines traces de cuivre utilisées sur la plupart des bandes LED provoquent une « résistance » qui entraînera une chute des niveaux de tension. Si la tension au niveau du pixel tombe trop bas, cela peut causer divers problèmes tels que le scintillement, la pénombre ou simplement un défaut d'allumage. Pour éviter ces problèmes, vous devrez peut-être « insérer » de l'alimentation à des points de la bande de pixels RVB. Vous couperiez la bande, puis sauteriez simplement la ligne de DONNÉES et ajouteriez un nouvel ensemble de fils d'ALIMENTATION et de TERRE qui reviennent à votre alimentation. Mais sachez que la distance de votre fil d'alimentation provoquera également une résistance et entraînera une chute de tension. Pour éviter cela, vous devez utiliser un fil suffisamment épais en fonction de vos besoins en énergie. Le tableau suivant est un bon point de départ pour choisir la bonne taille de puissance

Plus gros est toujours mieux quand il s'agit d'une alimentation électrique. Vous aurez besoin de quelque chose qui peut fournir plus de puissance (ampères) que vous n'en avez besoin. Dans mon cas, j'ai commandé quelques alimentations de taille moyenne, 40 ampères et 60 ampères. Plusieurs alimentations peuvent être utilisées, cependant, vous devez connecter tous les fils de terre des alimentations ensemble.

Contrôleur Arduino

La plupart des cartes Arduino de flux principal peuvent être utilisées comme contrôleur pour devenir l'homme intermédiaire entre l'ordinateur exécutant Vixen Lights et les bandes de pixels RVB réelles.

Diverses cartes ont des limitations matérielles différentes telles que la vitesse du processeur, la taille de la mémoire (RAM) et la taille du stockage. Cependant, lors des tests, le plus grand facteur limitant que nous ayons trouvé était la vitesse du port série. La plupart des Arduinos ne peuvent pas aller plus vite que 115 200 bps. Lorsque nous poussons les codes de couleur pour chacune des trois couleurs pour 150 pixels (soit 450 couleurs) sur le port série à 115 200 bps, nous pouvons calculer qu'il faudra 45 millisecondes pour terminer la transmission. Cela signifie que nous pouvons actualiser en toute sécurité chaque pixel toutes les 50 millisecondes (ou 20 fois par seconde).

Le code de ce didacticiel est basé sur David Hunt - blog.huntgang.com

Configuration du port série Vixen

Pour utiliser le contrôleur Arduino, vous devez le configurer à l'intérieur de Vixen 3.x Le processus suivant a été documenté à l'aide de

Étape 1.- Ajoutez un contrôleur série générique pour le menu en haut à droite.

Étape 2.- Définissez le nombre de sorties pour le contrôleur. Ce nombre doit être 3x le nombre de pixels. Dans mon exemple, je configure 30 pixels, ce qui signifie que je vais définir le nombre de sorties sur 90.

Étape 3.- Dans le coin inférieur droit, cliquez sur l'icône Gera, nous allons maintenant configurer le port COM. Pour ce faire, nous allons sélectionner le port COM pour l'Arduino. Mon exemple est COM13 mais le vôtre sera probablement différent. Nous voulons également configurer le débit en bauds à 115200. Le reste des paramètres peut être laissé seul.

Étape 4.- Ici, nous ajouterons le nombre de pixels dans l'en-tête afin que l'Arduino sache combien de pixels il devrait recevoir. Le nombre de pixels doit être de 300 ou moins et doit être saisi sous la forme d'une valeur à trois chiffres. Encore une fois, mon exemple utilise 030 pixels, je le ferai donc précéder de deux zéros. À ce stade, vous devriez voir un tas de clignotements clignotants sur votre Arduino car il reçoit maintenant les données série.

Configurer l'élément pour les pixels

Étape 5.- En haut à gauche, vous verrez une liste déroulante, sélectionnez un seul élément, cliquez sur le bouton Ajouter vert et nommez-le Pixel Strip.

Étape 6.- Ensuite, nous ferons un clic droit sur la bande de pixels que nous venons de créer et nous sélectionnerons Ajouter plusieurs. Pour ajouter tous les pixels, nous allons sélectionner les éléments numérotés, définir un nom (j'ai utilisé Pixel Strip) puis sélectionner le nombre de pixels à générer (30 dans mon exemple). Vous devriez voir tous les noms dans la liste avant de cliquer sur OK.

Étape 7.- Nous allons maintenant mettre en surbrillance la bande de pixels et configurer la propriété Gestion des couleurs. Nous sélectionnerons « Ils peuvent être de n'importe quelle couleur :ils sont entièrement RVB et se mélangent pour créer n'importe quelle couleur. »

Étape 8.- La dernière étape avant de pouvoir l'appeler un jour est de patcher l'élément au contrôleur. Pour ce faire, mettez en surbrillance la bande de pixels à gauche et le contrôleur série générique à droite. Le nombre de points de patch non connectés doit correspondre. La seule chose qui reste à faire est de cliquer sur Patch Elements to Controllers et vous êtes alors prêt pour Christmas Light.

Étape 9.- Si vous avez réussi, votre vue graphique devrait ressembler à ceci.

Créer ma première séquence

Étape 10.- Ouvrez Vixen et cliquez sur Nouvelle séquence…

Étape 11.- Importez de l'audio depuis le menu Outils, j'utilise mp3.

Étape 12.- . Si vous avez réussi, votre écran ressemble à cela, vous pouvez effectuer un zoom avant ou un zoom arrière à l'aide de l'outil de zoom, cela vous aidera dans la chronologie.

Étape 13.- Revenons maintenant aux Outils, Audio et sélectionnons Détecteur de battement/barre, ce processus aidera à aligner parfaitement les effets avec l'audio. Vous verrez beaucoup de lignes blanches.

Étape 14.- Dans le menu de gauche, appelez Effets, il y a 2 sous-menus, Basic Lighting, Pixel Lighting, les deux menus peuvent être utilisés avec des pixels, cliquons sur chase, glissez-déposez sur votre Pixel Strip Line, utilisez la souris pour redimensionner l'effet.

Étape 15.- Sélectionnez l'effet, dans le menu ridh, vous verrez plus d'options pour changer la direction, la couleur, le pouls, la profondeur, etc., jouer avec l'effet, vous pouvez également activer l'aperçu de l'effet.

Étape 16.- Cliquez sur Play dans le coin supérieur gauche, amusez-vous, youtube a de nombreux échantillons.

Remarque :lorsque votre Arduino est connecté à l'ordinateur et ouvrez le logiciel Vixen, vous verrez le RX sur l'Arduino clignoter, cela signifie qu'Arduino attend les instructions de Vixen.

Voir la démo

Espagnol - Español

Que es Vixen Lights ?

Vixen Lights est un logiciel de bricolage (hágalo usted mismo) secuencias de luces. La dernière version 3.x se rediseño completamente para soportar píxeles RGB inteligentes.

Lo puedes descargar en la siguiente liga http://www.vixenlights.com/downloads/ Este tutorial est basé sur la version 3.4u2 64 Bit.

Que es-tu un Pixel ?

Un pixel es un cluster de 3 leds qui consistent en 3 couleurs primaires (rojo, verde y azul). La intensidad de estos colores puede varias para crear otros colores. La tira con pixeles WS2812B que se est à usando tiene une puce que acepta data en un Puerto, despliega la información asignada y la pasa la data al siguiente pixel. Para este ejemplo se trata de una tira de pixeles de 4mts, con 60 pixel x metro. Se puede identificar muy fácil una tira de pixeles vs una tira de RGB, la tira de pixeles utiliza 3 cables, +5v, Tierra y Data, mientras una de RGB utiliza 4.

Los pixels RVB utilizan mucha energía. Mientras el Arduino puede alimentar algunos pixeles usando su fuente de regulador interno, pero rápidamente se quedará sin corriente. Por esto debemos utilizar una fuente externa para alimentar las luces, El voltaje requerido dependerá el las especificaciones de las luces que haya comprado. La tira de leds inteligentes que se est à utiliser 5v, pero también hay que tomar en consideración el consumo de ampères. Cada pixel cuando se encienden los 3 leds al 100% consommé 60mA, es decir cada led consommer 20mA, si consideramos los 60 pixeles por metro tenemos un consumo de 3.6A x cada metro.

Desafortunadamente las pistas de cobre que se usan en la mayoría de las tiras de leds causan resistencia por lo cual sufren una caída de voltaje. Si el voltaje cae muy bajo tendrás problemas con tus luces como parpadeos, attenuación. Para evitar estos problemas, se necesita insertar voltaje cada 50 pixeles, solo corta la pista, aliménentala y el Data solo crea un jumper. También tomemos en cuenta que si las tiradas de cable son largas debemos tomar en cuenta el grosor del cable para evitar pérdidas.

Lo grande siempre es mejor cuanto una fuente de poder se refiere, para este tipo se recomiendan fuentes de poder de 40A o 60A o utilizar varias.

Arduino como Controlador

La mayoría de las tarjetas de Arduino se pueden usar como controladores que sirven de interface entre la computadora que corre Vixen Lights y las titas de pixeles.

Solo que varias tarjetas están limitadas por la velocidad del procesador, tamaño de memoria y tamaño de almacenamiento, pero la mayor limitante es la velocidad de puerto serial. La mayoría de los arduinos no pueden ir más rápido de 115,200 baudios, el topo de pixeles es de 300 para que se puedan refrescar cada 50ms.

Si cela incrémente le nombre de pixels qui incrémentent en Vixen la fréquence d'actualisation à 100 ms.

Este tutorial esta basado en el tutorial de David Hunt - blog.huntgang.com

Configurando el Puerto Serial en Vixen

Para poder utilizar el Arduino como controlador, tienes que primero configurar dentro de Vixen 3.x el siguiente proceso.

Pas 1.- Agrégat un Generic Serial Controller del menu

Pas 2.- Ahora definiremos el # de salidas de nuestro controlador, si en mi cas, utilisez 30 pixels debo multiplicarlo x 3, es decir cada pixel tiene 3 leds en su interior, lo que da igual a 90 salidas.

Pas 3.- En la parte inférieure derecha dar clic en el engrane, ahora a configurar el puerto COM. Para hacer esto daremos cliquez sur el puerto y seleccionamos el puerto que tiene asignado el Arduino, también configuraremos el velocidad de los baudios a 115200, el resto se queda como esta.

Étape 4.- Configuraremos el Texto de Encabezado, en mi caso es>>030<<, esto le indica al código instalado en arduino el número de pixeles que estará recibiendo, siempre el número se debe ingresar en valor de 3 dígitos por eso ceros importants es inicio, sino tendrás error en los pixeles.

Configurer un élément pour les pixels

Pas 5.- En la esquina superior izquierda dentro del cuadro de selección, seleccionamos Single Item, damos click en el botón verde con un signo de +, nómbralo como Pixel Strip.

Pas 6.- Sobre el nombre de Pixel Strip que acabas de crear da clic derecho y selecciona Add Multiple. Para añadir todos los pixeles, seleccionaremos ítem numerados, define un nombre, (vous utilisez Pixel Strip) y luego selecciona el número de pixeles que en mi caso con 30. Verás todos los nombres antes de dar clic OK.

Pas 7.- Vous avez sélectionné la bande de pixels et configuré les propriétés de la gestion des couleurs, afin d'obtenir la meilleure qualité possible en un seul clic sur la configuration de la gestion des couleurs. Seleccionaremos « Ils peuvent être de n'importe quelle couleur :ils sont entièrement RVB et mélangent n'importe quelle couleur » .

Pas 8.- Este es el paso final donde asignamos los elementos al controlador, para hacer este paso selecciona del lado izquierdo y el controlador genérico del lado derecho bajo el nombre que le hayas puesto. El número de puntos sin conectar debe ser el mismo. Lo único que queda es darle clic in el botón Patch Elements y ya está listo.

Pas 9.- Para comprobar que esta correcto deberás ver un ejemplo como el de la vista gráfica.

Crear mi Primera Secuencia

Étape 10.- Abrir Vixen y dar clic en Nouvelle séquence.....

Étape 11.- Importar nuestro Audio, preferente utilizar formatos mp3

Étape 12.- . Así debe de verse nuestra pantalla, pueden notar que la onda de música está cargada en la parte superior, en la barra superior pueden encuentran dos lupas una de + y otra -, que sirven para alejar o aumentar la línea de tiempo que es el área donde estaremos trabajando.

Pas 13.- Vamos a correr un proceso para detectar los Beats de la música, ya que nos ayudará a la hora de armar las secuencias, podrán observar en la imagen las líneas blancas alineadas a los Beats de la música.

Pas 14.- De nuestro lado izquierdo hay un menú de Effects, Basic Lighting, Pixel Lighting, ambos menús puedes ser utilizados con Pixeles, vamos a dar clic in Chase

Pas 15.- Seleccionamos el efecto en la línea de tiempo, del lado derecho se activará un menú de configuración del efecto, donde podremos modificar, intensidad, dirección, color, etc.

Pas 16.- Da clic en PLAY, diviértete, hay mucho tutoriales in YouTube.

Remarque :Una vez que conectes tu Arduino y abras Vixen Light deben empezar a parpadear los leds Rx, esto indica que Arduino está esperando recibir información por el puerto Serial.

Code

  • Bibliothèque à LED rapide
  • Code pour Arduino
Bibliothèque Led rapideArduino
Installez sur vos documents - Arduino - bibliothèque
Aucun aperçu (téléchargement uniquement).
Code pour ArduinoArduino
Copiez-collez simplement dans arduino IDE
/*Vixen Lights 3.x - Série générique Arduino pour les pixels adressables. L'utilisation de ce code est assez simple, connectez simplement votre ligne de données à un fil (WS2811 ou WS2812) à la broche 6 de votre Arduino et téléchargez ce code. Assurez-vous d'avoir correctement installé la bibliothèque FastLED à partir de http://fastled.io Une fois que vous avez terminé, alimentez simplement vos bandes Pixel à partir d'une alimentation externe. Configurez ensuite un contrôleur série générique dans Vixen Lights 3.x et ajoutez 3 x pixels pour le nombre de canaux. Configurez le contrôleur série générique pour utiliser 115200, 8, aucun et 1. Créez ensuite votre élément et ajoutez « éléments multiples (1 x nombre de pixels). Enfin, sélectionnez vos éléments de pixels et définissez-les en tant que pixels RVB avant de les appliquer aux sorties du contrôleur. Vous devriez maintenant être prêt à commencer les tests. Pour un didacticiel complet, consultez blog.huntgang.comCréé le 8 novembre 2014 par Richard Sloan - www.themindfactory.comEt David Hunt - blog.huntgang.comVersion 1.4*/// Vous devez télécharger et installer la bibliothèque de http://fastled.io/ #include // Définit le nombre maximum de LED que ce code gérera pour éviter de manquer de mémoire#define NUM_LEDS 300// Définit la broche qui est utilisée pour se connecter à la bande de pixels LED#define DATA_PIN 6CRGB leds[NUM_LEDS];void setup() { // Définir la vitesse du port série Serial.begin(115200);}void loop() { // Définir un compteur/stockage temporaire variables int cnt; unsigned int num_leds; unsigned int d1, d2, d3; // Commence une boucle sans fin pour recevoir et proc ess serial data for(;;) { // Met un compteur à 0. Ce compteur garde une trace des couleurs de pixels reçues. cnt =0 ; //Commencez à attendre la réception de l'en-tête sur le bus série //1er caractère while(!Serial.available()); if(Serial.read() !='>') { continuer; } //deuxième caractère while(!Serial.available()); if(Serial.read() !='>') { continuer; } // obtient le premier chiffre du bus série pour le nombre de pixels à utiliser while(!Serial.available()); d1 =Serial.read(); // obtient le deuxième chiffre du bus série pour le nombre de pixels à utiliser while(!Serial.available()); d2 =Serial.read(); // obtient le troisième chiffre du bus série pour le nombre de pixels à utiliser while(!Serial.available()); d3 =Serial.read(); // obtient la fin de l'en-tête while(!Serial.available()); if(Serial.read() !='<') { continuer; } while(!Serial.available()); if(Serial.read() !='<') { continuer; } // calcule le nombre de pixels en fonction des caractères fournis dans l'en-tête digits num_leds =(d1-'0')*100+(d2-'0')*10+(d3-'0'); // assurez-vous que le nombre de pixels ne dépasse pas le nombre autorisé if(num_leds> NUM_LEDS) { continue; } // Faites savoir à la bibliothèque FastLED combien de pixels nous allons adresser à FastLED.addLeds(leds, num_leds); // Parcourez chacun des pixels et lisez les valeurs de chaque couleur 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); // Dites à la bibliothèque FastLED qu'il est temps de mettre à jour la bande de pixels FastLED.show(); // WOO HOO... Nous avons tous terminé et nous sommes prêts à recommencer ! }}

Schémas

Utiliser une résistance de 470 ohms - usar una resistencia de 470 ohms Utilisez une résistance de 470 ohms - utilisez une résistance de 470 ohms

Processus de fabrication

  1. Variation des lumières avec PWM à l'aide du bouton-poussoir
  2. Machine à LÉVITATION ULTRASONIQUE utilisant ARDUINO
  3. Télécommande universelle utilisant Arduino, 1Sheeld et Android
  4. Voltmètre DIY utilisant Arduino et Smartphone
  5. Enregistreur de données de température et d'humidité
  6. IOT - Smart Jar utilisant ESP8266, Arduino et capteur à ultrasons
  7. Mesure de la fréquence et du cycle de service à l'aide d'Arduino
  8. Comment mesurer la masse de la Terre à l'aide d'Arduino
  9. Comment faire une boussole en utilisant Arduino et Processing IDE