Bit cogner étape par étape : Arduino contrôle de WS2811, WS2812 et LED RGB WS2812B

Avertissement: l’an dernier, quelques bibliothèques différentes ont été écrits pour contrôler ces LEDs RGB omniprésent par les collègues responsables de Adafruit, achetant et le projet FastSPI.  Les bibliothèques fonctionnent très bien, et nous devrions essayez-les tous dehors.  Récemment, on nous a demandé par quelques personnes comment le code de bas niveau a vraiment fonctionné.  Avec l’espoir que d’autres trouvent l’explication utile, nous avons mis en place ce Instructable avec une réponse détaillée.
--

Vue d’ensemble
Quand on veut un microcontrôleur pour envoyer et recevoir des données de/vers les périphériques à l’aide d’une forme de logique numérique, nous le faisons souvent par le biais de protocoles standard tels que SPI, I2C/TWI, UART, etc..  Cependant, il arrive un moment dans la vie de chaque interface de programmation du matériel embarqué où l'on pratique ou nécessaire de roll-up ses manches et manivelle à son propre protocole.  Tel est le cas pour le contrôle de l’omniprésente LED RGB de WorldSemi : la série WS281X.

Il est à noter qu’il y ai eu tentatives réussies pour utiliser le protocole SPI pour le contrôle de ces LEDs.  Néanmoins, étant donné la nature de leur protocole de communication (décrit ci-dessous) il s’agit d’un cadre idéal pour mettre en œuvre une solution personnalisée à l’aide d’une technique de programmation appelée bitbanging.  Cette technique nous permet d’imiter les différentes fonctions du matériel spécialisé, à l’aide de logiciels.  Dans ce cas, nous utiliserons il pour activer/désactiver une broche de sortie numérique sur le microcontrôleur ATMega328p de façon très précise, afin que le signal numérique créé nous permet d’allumer ou d’éteindre un tableau 1-par-60 de WS2812 RGB LED.

Niveau de Difficulté: débutant + (certaine familiarité avec la programmation de l’Arduino)
Temps d’exécution: 15-30 Minutes

Articles Liés

Arduino contrôlée Président de LED et de système de jeu

Arduino contrôlée Président de LED et de système de jeu

L'objectif de ce projet a été d'apprendre à utiliser les outils et mettre en œuvre de logiciels avec qui. Ceci a été divisé en trois parties principales : le Strip LED contrôlé par un Arduino, le système Rasberry PI connecté à un moniteur et le bâtim
Commander une LED RGB avec le HC-06 Bluetooth Module utilisant Android OS(Arduino)

Commander une LED RGB avec le HC-06 Bluetooth Module utilisant Android OS(Arduino)

Ce tutoriel vous expliquera le processus de connexion d'un Bluetooth Module de HC-06 à un Arduino et contrôler la couleur d'une LED RGB à l'aide de l'application ArduDroid sur le système d'exploitation Android. Cette configuration très probablement c
Autocollant de fenêtre numérique (Arduino contrôlée)

Autocollant de fenêtre numérique (Arduino contrôlée)

un autocollant de taille matrice de LED qui affiche des images en séquence à partir d'une carte SD, pour produire une animation signe ou « vitrophanie ». Arduino contrôlée ! Inclut également le code de Windows, Mac et Linux pour la conversion des fic
Arduino contrôlées Animatronic squelette Rock Band - en cours

Arduino contrôlées Animatronic squelette Rock Band - en cours

Pour l'Halloween cette année, j'ai décidé de construire un animatronic squelette Rock. C'est un travail en cours à ce stade, mais je suis assez content de comment il est à venir le long. Presque tout est fait de matériaux que j'avais sur la main (je
Arduino contrôlée animatronique tête en bois (lampe de lecture)

Arduino contrôlée animatronique tête en bois (lampe de lecture)

cette tête est une lampe de lecture qui peut être ajustée pour la direction de l'éclairage et estompée au besoin.Ce Instructable combine Arduino programmation, certains électronique simple, sculpture avec des outils manuels et électriques, contrôle m
Lampe à LED RGB Arduino + 4 bit écran LCD

Lampe à LED RGB Arduino + 4 bit écran LCD

c'est mon premier instructable!!! Yay...Avant de continuer. Je ne pas entrer dans les détails de la façon de couper le bois, ou tout reconstituer. J'ai chorégraphié le processus de génération entière, quelle que soit venu à l'esprit est ce que j'ai r
Arduino - contrôle de points/turnout

Arduino - contrôle de points/turnout

Mise à jour 28 avril 2016Les points / contrôleur de taux de participation est construit et installé dans ma mise en page du chemin de fer.Le système fini contrôle 16 points et 15 accessoires tels que les lumières, sons, platine, etc.Le circuit est in
Arduino contrôlée hélicoptère

Arduino contrôlée hélicoptère

Cette instructable a été créée dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com). L'objectif de ce cours était pour nous enseigner la créativité, l'ingéniosité et l'application prati
Laser Galvo - Arduino contrôlée

Laser Galvo - Arduino contrôlée

Arduino contrôlée laser galvo. La servocommande de miroirs diriger le laser UV laissant une traînée phosphorescente sur la feuille de vinyle glow-in-the-dark.Posté sur notes.robives.comÉtape 1 :À partir d'une feuille de vinyle lumineux d'eBay et poin
Arduino contrôlée ruche spécialiste / désodorisant

Arduino contrôlée ruche spécialiste / désodorisant

Dans le chaos relatif de mes arrangements domestiques, j'ai une petite oasis d'un ordre parfait. Une chose que je peux appeler « organisé » et « pleinement fonctionnelle ». Une chose que je peux toucher et savons qu'il est fiable et prêt pour l'actio
Arduino contrôlée de fenêtre pour chat

Arduino contrôlée de fenêtre pour chat

je soumets cette instructable le défi de l'Arduino. N'oubliez pas de voter !Mon voisin a eu un petit problème avec son chat. Il veulent de sortir et de revenir trop souvent à l'intérieur. Habituellement, il ouvre juste la fenêtre de sa cuisine et nou
Arduino contrôlée Rotary Stewart Platform

Arduino contrôlée Rotary Stewart Platform

Cette instructable est sur la génération d'une rotative Plate-forme de Stewart. Il permet de positionner sa plateforme de mouvement à six degrés de liberté. Cette plateforme spécifique est conçue pour pouvoir positionner un reflex numérique ou tout a
Arduino contrôlée CNC / 3D imprimante hybride

Arduino contrôlée CNC / 3D imprimante hybride

Dame Nature fait... Nous construisons des.BuildersBot fusibles impression 3D & fraisage CNC dans rêve d'un générateur "3dprintingindustry.com"Le BuilderBot est une machine de conception ouverte, qui utilise OpenLogiciels et matériels ouvert.
Arduino contrôlée coaster smart

Arduino contrôlée coaster smart

Le Coaster Smart est un coaster intelligent pour vos boissons. Il reconnaît que les différents types de boissons placé dessus, avec un cocktail le Coaster Smart s'illumine dans quelques couleurs atmosphériques et variation lente. Si vous placez une t