Índice:

Magic Hercules - Driver para LEDs digitais: 10 etapas
Magic Hercules - Driver para LEDs digitais: 10 etapas

Vídeo: Magic Hercules - Driver para LEDs digitais: 10 etapas

Vídeo: Magic Hercules - Driver para LEDs digitais: 10 etapas
Vídeo: NR-12 Acidente em torno 2024, Novembro
Anonim
Magic Hercules - Driver para LEDs digitais
Magic Hercules - Driver para LEDs digitais

Visão geral rápida:

O módulo Magic Hercules é um conversor entre o conhecido e simples SPI para o protocolo NZR. As entradas do módulo têm uma tolerância de +3,3 V, para que você possa conectar com segurança qualquer microcontrolador operando na tensão de +3,3 V.

O uso do protocolo SPI para controlar LEDs digitais é uma abordagem inovadora entre as soluções atuais, como bibliotecas prontas para Arduino. No entanto, permite alternar para qualquer plataforma independentemente da família de microcontroladores (como ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) e independentemente da linguagem de programação (por exemplo, C, Arduino C ++, Python ou outro compatível com o protocolo SPI). Esta abordagem para programar LEDs digitais é extremamente amigável para iniciantes, pois tudo que você precisa é conhecimento do protocolo SPI.

O módulo MH também permite vários modos de teste de tiras de LED digitais, incluindo teste da ordem de cores no diodo (RGB, BGR, RGBW, etc.), teste de tiras ou visores inteiros (até 1024 LEDs).

Etapa 1: Por que estou trabalhando no módulo Magic Hercules?

Por que estou trabalhando no módulo Magic Hercules?
Por que estou trabalhando no módulo Magic Hercules?

Trabalho há muito tempo com LEDs digitais como WS2812, WS2815 ou SK6812, que costumo chamar de LED Magic.

Testei muitas tiras, anéis e displays (até mesmo o meu) baseados em LED Magic (mesmo com o tipo RGBW). Usei Arduino, Nucleo (com STM), Raspberry Pi e minhas próprias placas com microcontroladores AVR.

Independentemente da plataforma, escrever um programa para controlar LEDs mágicos é difícil (devido à necessidade de software de protocolo NZR), a menos que você esteja usando bibliotecas prontas que tornam isso fácil, mas ainda não totalmente ideal em termos de uso de código, interromper respostas, ou utilização de memória, e só funcionam em plataformas específicas (portá-los, por exemplo, de Raspberry para microcontroladores AVR é impossível).

Devido ao facto de utilizar frequentemente várias plataformas, tive a necessidade de que o código do programa fosse o mais compatível possível com Arduino, Raspberry Pi, ARM / STM (Nucleo) ou AVR - especialmente quando se trata de efeitos de iluminação.

Trabalho no canal do youtube há muito tempo e preparei mais de um guia de programação de diodos digitais em linguagem C para microcontroladores AVR (mas até agora só em polonês). Costumo ter contato com iniciantes que lutam para programar LEDs mágicos. Claro, alguns, dependendo da plataforma, escolhem bibliotecas prontas para seus projetos únicos. Porém, muitas pessoas procuram outras soluções ou tentam aprender os segredos da programação e eu sou uma delas.

Etapa 2: Conversão de SPI em NZR

Conversão SPI para NZR
Conversão SPI para NZR

Decidi preparar um módulo que fará o trabalho sujo para o usuário usando o protocolo NZR. O módulo que atuará como conversor SPI para NZR e assim como o SPI, pode ser usado em qualquer plataforma com facilidade. A captura de tela acima mostra a conversão de sinais SPI para o protocolo NZR no módulo Magic Hercules.

Etapa 3: Módulo Hercules mágico como testador de faixa digital de LED

Módulo Hercules mágico como testador digital de faixa de LED
Módulo Hercules mágico como testador digital de faixa de LED

Ao conectar LEDs digitais a diferentes sistemas, deve-se lembrar sobre a tolerância de tensão apropriada para diferentes microcontroladores. A maioria dos pinos de I / O dos microcontroladores ARM funcionam no padrão +3,3 V, enquanto os microcontroladores AVR funcionam no padrão TTL. Devido a isso, os pinos de entrada do módulo Magic Hercules têm uma tolerância de +3,3 V, de modo que podem ser conectados com segurança a, por exemplo, um Raspberry P ou qualquer microcontrolador baseado em ARM alimentado por +3,3 V.

Como mencionei antes, costumo trabalhar com diferentes tipos de LEDs digitais. Dependendo do fabricante, as cores individuais nos LEDs podem estar em posições diferentes, por ex. RGB, BGR, GRB, RGBW, GRBW, etc. Não é incomum que a documentação do fabricante mencione a sequência RGB, mas na verdade parece diferente. Eu equipei o módulo Hercules com um teste de sequência de cores para que não haja nenhum problema em descobrir rapidamente como escrever um programa para a ordem correta de cores. Várias funções adicionais do testador permitem que você verifique rapidamente se a faixa de LED digital funciona, se todas as cores em cada LED na faixa (até 1024 LEDs!) Estão funcionando corretamente (sem pixels mortos). E tudo isso sem conectar um microcontrolador e sem escrever nenhum programa.

Etapa 4: Módulo Magic Hercules - Nova Solução Universal para LEDs Digitais

Módulo Magic Hercules - Nova Solução Universal para LEDs Digitais
Módulo Magic Hercules - Nova Solução Universal para LEDs Digitais

Acho que ainda não existia, para controlar LEDs digitais usando um protocolo SPI simples e comum, que pode ser operado em qualquer plataforma ou família de microcontroladores.

Obviamente, existem muitas maneiras de controlar os LEDs digitais, algumas são mais otimizadas e outras, menos otimizadas. O módulo Magic Hercules é outra opção e muito prática para mim. Acho que alguém pode gostar desta solução incomum. Recentemente, decolei na plataforma de crowdfunding - kickstarter, onde preparei uma descrição mais ampla do módulo Magic Hercules em vários vídeos, incluindo como é fácil trabalhar com ele no Arduino, Nucleo (STM), Raspberry Pi e no AVR e PIC microcontroladores. Se você gostaria de apoiar o projeto Magic Hercules, verifique isto:

Meu projeto de módulo Magic Hercules no kickstarter

Eu preparei um programa em linguagem C - um efeito stargate simples, que é baseado em operações de tabela e envio sequencial do buffer no loop principal. Graças ao módulo Magic Hercules, consegui transferir facilmente o código-fonte para outras linguagens e plataformas - verifique os próximos passos - códigos-fonte.

Etapa 5: Módulo Magic Hercules com Atmega32 e C

Vídeo contendo um diagrama simplificado, apresentação da conexão em ATB 1.05a (AVR Atmega32), código fonte (em Eclipse C / C ++ IDE) e o efeito final na forma de um efeito de luz stargate.

Link para o vídeo no youtube

Etapa 6: módulo Magic Hercules com Arduino e Arduino C ++

Vídeo contendo um diagrama simplificado, apresentação da conexão na placa Arduino 2560, código-fonte no IDE do Arduino e o efeito final na forma de um efeito de luz stargate.

Link para o vídeo no youtube

Etapa 7: Módulo Magic Hercules com PIC e C

Vídeo contendo um diagrama simplificado, apresentação da conexão em ATB 1.05a com PIC shield (PIC24FJ64GA004 on board), código fonte em MPLAB e o efeito final em forma de efeito de luz stargate.

Link para o vídeo no youtube

Etapa 8: Módulo Magic Hercules com Raspberry Pi e Python

Vídeo contendo um diagrama simplificado, apresentação da conexão no Raspberry Pi 4, código-fonte em Python e o efeito final na forma de um efeito de luz stargate.

Link para o vídeo no youtube

Etapa 9: Módulo Magic Hercules com ARM - STM32 Nucleo e C

Vídeo contendo um diagrama simplificado, apresentação da conexão na placa STM32 Nucleo, código-fonte em STM32CubeIDE e o efeito final na forma de um efeito de luz stargate.

Link para o vídeo no youtube

Etapa 10:

Imagem
Imagem

Acho que MH pode ser um módulo extremamente amigável para iniciantes, independentemente da plataforma e da linguagem que eles usam. Basta conhecer o conhecido protocolo SPI, e a possibilidade de começar a verificar se a faixa digital de LED funciona e que sequência de cores ela possui é apenas uma vantagem.

Se você quiser participar do meu projeto no kickstarter - verifique este link:

Meu projeto de módulo Magic Hercules no kickstarter

Recomendado: