Table des matières:

Magic Hercules - Driver pour LED numériques : 10 étapes
Magic Hercules - Driver pour LED numériques : 10 étapes

Vidéo: Magic Hercules - Driver pour LED numériques : 10 étapes

Vidéo: Magic Hercules - Driver pour LED numériques : 10 étapes
Vidéo: Herman Li Breaks Guitar Onstage 2024, Novembre
Anonim
Magic Hercules - Driver pour LED numériques
Magic Hercules - Driver pour LED numériques

Rapide vue d'ensemble:

Le module Magic Hercules est un convertisseur entre le protocole SPI bien connu et simple vers le protocole NZR. Les entrées du module ont une tolérance de +3,3 V, vous pouvez donc connecter en toute sécurité tous les microcontrôleurs fonctionnant à une tension de +3,3 V.

L'utilisation du protocole SPI pour contrôler les LED numériques est une approche innovante parmi les solutions actuelles, telles que les bibliothèques prêtes à l'emploi pour Arduino. Cependant, il permet de basculer sur n'importe quelle plate-forme quelle que soit la famille de microcontrôleur (comme ARM: STM/Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) et quel que soit le langage de programmation (par exemple C, Arduino C++, Python ou autre qui prend en charge le protocole SPI). Cette approche de la programmation des LED numériques est extrêmement conviviale pour les débutants car tout ce dont vous avez besoin est la connaissance du protocole SPI.

Le module MH permet également plusieurs modes de test des bandes LED numériques, notamment le test de l'ordre des couleurs dans la diode (RGB, BGR, RGBW, etc.), le test de l'ensemble des bandes ou des écrans (jusqu'à 1024 LED).

Étape 1: Pourquoi est-ce que je travaille sur le module Magic Hercules ?

Pourquoi est-ce que je travaille sur le module Magic Hercules ?
Pourquoi est-ce que je travaille sur le module Magic Hercules ?

Je travaille depuis longtemps avec des LED numériques telles que WS2812, WS2815 ou SK6812, que j'appelle généralement Magic LED.

J'ai testé de nombreuses bandes, bagues et écrans (même le mien) à base de Magic LED (même de type RGBW). J'ai utilisé Arduino, Nucleo (avec STM), Raspberry Pi et mes propres cartes avec des microcontrôleurs AVR.

Quelle que soit la plate-forme, il est difficile d'écrire un programme pour contrôler les LED magiques (en raison de la nécessité d'un logiciel de protocole NZR), à moins que vous n'utilisiez des bibliothèques prêtes à l'emploi qui le rendent facile, mais toujours pas totalement optimal en termes d'utilisation du code, interruption réponses, ou l'utilisation de la mémoire, et ne fonctionnent que sur des plates-formes spécifiques (les porter vers des microcontrôleurs Raspberry vers AVR, par exemple, est impossible).

En raison du fait que j'utilise souvent différentes plates-formes, j'avais besoin que le code du programme soit aussi compatible que possible avec Arduino, Raspberry Pi, ARM / STM (Nucleo) ou AVR - en particulier en ce qui concerne les effets d'éclairage.

Je travaille depuis longtemps sur la chaîne youtube et j'ai préparé plus d'un guide sur la programmation de diodes numériques en langage C pour les microcontrôleurs AVR (mais pour l'instant uniquement en polonais pour l'instant). J'ai souvent des contacts avec des débutants qui ont du mal à programmer des LED magiques. Bien sûr, certains, selon la plate-forme, choisissent des bibliothèques prêtes pour leurs projets ponctuels. Cependant, beaucoup de gens recherchent d'autres solutions ou essaient d'apprendre les secrets de la programmation et je suis l'un d'entre eux.

Étape 2: Conversion SPI en NZR

Conversion SPI en NZR
Conversion SPI en NZR

J'ai décidé de préparer un module qui fera le sale boulot pour l'utilisateur en utilisant le protocole NZR. Le module qui servira de convertisseur SPI vers NZR et tout comme SPI, peut être utilisé facilement sur n'importe quelle plate-forme. La capture d'écran ci-dessus montre la conversion des signaux SPI en protocole NZR dans le module Magic Hercules.

Étape 3: Magic Hercules Module en tant que testeur de bande LED numérique

Module Magic Hercules en tant que testeur de bande LED numérique
Module Magic Hercules en tant que testeur de bande LED numérique

Lors de la connexion de LED numériques à différents systèmes, il ne faut pas oublier la tolérance de tension appropriée pour les différents microcontrôleurs. La plupart des broches d'E/S des microcontrôleurs ARM fonctionnent au standard +3,3 V, tandis que les microcontrôleurs AVR fonctionnent au standard TTL. Pour cette raison, les broches d'entrée du module Magic Hercules ont une tolérance de +3,3 V, elles peuvent donc être connectées en toute sécurité à, par exemple, un Raspberry P ou tout microcontrôleur ARM alimenté en +3,3 V.

Comme je l'ai mentionné précédemment, je travaille souvent avec différents types de LED numériques. Selon le fabricant, les couleurs individuelles des LED peuvent être dans différentes positions, par ex. RVB, BGR, GRB, RGBW, GRBW, etc. Il n'est pas rare que la documentation du fabricant mentionne la séquence RVB, mais elle semble en réalité différente. J'ai équipé le module Hercules d'un test de séquence de couleurs afin qu'il n'y ait aucun problème pour savoir rapidement comment écrire un programme pour le bon ordre des couleurs. Plusieurs fonctions supplémentaires du testeur vous permettent de vérifier rapidement si la bande LED numérique fonctionne, si toutes les couleurs de chaque LED sur la bande (jusqu'à 1024 LED !) fonctionnent correctement (pas de pixels morts). Et tout cela sans connecter un microcontrôleur et sans écrire de programme.

Étape 4: Magic Hercules Module - Nouvelle solution universelle pour les LED numériques

Module Magic Hercules - Nouvelle solution universelle pour les LED numériques
Module Magic Hercules - Nouvelle solution universelle pour les LED numériques

Je ne pense pas qu'il existait encore une telle chose, pour contrôler les LED numériques à l'aide d'un protocole SPI simple et commun, qui peut être utilisé sur n'importe quelle plate-forme ou famille de microcontrôleurs.

Bien sûr, il existe de nombreuses façons de contrôler les LED numériques, certaines sont plus optimales et d'autres moins optimales. Le module Magic Hercules est une autre option et très pratique pour moi. Je pense que quelqu'un peut aimer cette solution inhabituelle. J'ai récemment décollé sur la plateforme de financement participatif - kickstarter, où j'ai préparé une description plus large du module Magic Hercules dans plusieurs vidéos, y compris à quel point il est facile de travailler avec sur Arduino, Nucleo (STM), Raspberry Pi et sur AVR et PIC microcontrôleurs. Si vous souhaitez soutenir le projet Magic Hercules, découvrez ceci:

Projet de module My Magic Hercules sur kickstarter

J'ai préparé un programme en langage C - un simple effet stargate, qui est basé sur des opérations de table et l'envoi séquentiel du tampon dans la boucle principale. Grâce au module Magic Hercules, j'ai pu transférer facilement le code source vers d'autres langages et plateformes - vérifiez les prochaines étapes - codes sources.

Étape 5: Module Magic Hercules avec Atmega32 et C

Vidéo contenant un schéma simplifié, la présentation du branchement sur ATB 1.05a (AVR Atmega32), le code source (en Eclipse C/C++ IDE) et l'effet final sous forme d'effet lumineux stargate.

Lien vers la vidéo sur youtube

Étape 6: Module Magic Hercules avec Arduino et Arduino C++

Vidéo contenant un schéma simplifié, la présentation de la connexion sur la carte Arduino 2560, le code source dans l'IDE Arduino et l'effet final sous la forme d'un effet de lumière stargate.

Lien vers la vidéo sur youtube

Étape 7: Module Magic Hercules avec PIC et C

Vidéo contenant un schéma simplifié, la présentation de la connexion sur ATB 1.05a avec shield PIC (PIC24FJ64GA004 à bord), le code source en MPLAB et l'effet final sous la forme d'un effet de lumière stargate.

Lien vers la vidéo sur youtube

Étape 8: Module Magic Hercules avec Raspberry Pi et Python

Vidéo contenant un schéma simplifié, la présentation de la connexion sur Raspberry Pi 4, le code source en Python et l'effet final sous la forme d'un effet de lumière stargate.

Lien vers la vidéo sur youtube

Étape 9: Module Magic Hercules avec ARM - STM32 Nucleo et C

Vidéo contenant un schéma simplifié, la présentation de la connexion sur la carte STM32 Nucleo, le code source dans STM32CubeIDE et l'effet final sous la forme d'un effet de lumière stargate.

Lien vers la vidéo sur youtube

Étape 10:

Image
Image

Je pense que MH peut être un module extrêmement convivial pour les débutants, quelles que soient la plate-forme et la langue qu'ils utilisent. Il suffit de connaître le protocole SPI bien connu, et la possibilité de commencer à vérifier si la bande LED numérique fonctionne du tout et quelle séquence de couleurs elle a n'est qu'un plus.

Si vous souhaitez participer à mon projet sur kickstarter, consultez ce lien:

Projet de module My Magic Hercules sur kickstarter

Conseillé: