Como fazer uma matriz NeoPixel
Componentes e suprimentos
| | × | 1 | |
| | × | 1 | |
| Fios de jumpers (genérico) | | × | 1 | |
Aplicativos e serviços online
Sobre este projeto
The Matrix
Não, não é o filme, a matriz NeoPixel! Para fazer uma matriz, basta comprar uma tira de LEDs NeoPixel endereçáveis individualmente. Desenrole a tira e observe as setas nela. Você só pode anexá-los em UMA DIREÇÃO, você pode arruiná-los se a orientação estiver errada.
Usei uma tira de 30 LED / m 5m e cortei-as em tiras de dez LEDs cada.
Comecei então a colocar as tiras em um pedaço de cartolina, alternando as orientações.
Em seguida, cortei os fios nos comprimentos corretos e os soldei nos terminais NeoPixel.
Depois de fazer isso 14 vezes, minha matriz finalmente estava pronta! Em seguida, verifiquei com um multímetro para garantir que não havia nenhum curto-circuito, pois um curto-circuito vai fritar o Nano, a matriz e talvez sua porta USB (eu sei por experiência própria). Carregue o esboço de teste do neomatrix com os parâmetros "NEO_BOTTOM + NEO_LEFT + NEO_COLUMNS + NEO_ZIGZAG". Se ele rolar "olá" pela tela, pronto!
Confira meus outros projetos para mais ideias de matriz NeoPixel!
Código
Código Arduino C / C ++
Copie e cole // Adafruit_NeoMatrix exemplo para um único NeoPixel Shield.// Rola 'Howdy' pela matriz em uma orientação de retrato (vertical). # Include #include #include #ifndef PSTR #define PSTR // Faça o Arduino Due feliz # endif # define o PIN 6 // DECLARAÇÃO DA MATRIZ:// Parâmetro 1 =largura da matriz NeoPixel // Parâmetro 2 =altura da matriz // Parâmetro 3 =número do pino (a maioria é válida) // Parâmetro 4 =sinalizadores de layout de matriz, somados conforme necessário:// NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT:// Posição do PRIMEIRO LED na matriz; escolha dois, por exemplo ,// NEO_MATRIX_TOP + NEO_MATRIX_LEFT para o canto superior esquerdo.// NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS:os LEDs são organizados em // linhas horizontais ou em colunas verticais, respectivamente; escolha um ou outro.// NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG:todas as linhas / colunas procedem // na mesma ordem, ou as linhas alternadas invertem a direção; escolha um.// Veja o exemplo abaixo para esses valores em ação.// Parâmetro 5 =sinalizadores de tipo de pixel, some conforme necessário:// NEO_KHZ800 800 KHz bitstream (a maioria dos produtos NeoPixel com LEDs WS2812) // NEO_KHZ400 400 KHz (clássico 'v1' (não v2) FLORA pixels, drivers WS2811) // NEO_GRB Pixels são conectados para GRB bitstream (a maioria dos produtos NeoPixel) // NEO_RGB Pixels são conectados para RGB bitstream (v1 FLORA pixels, não v2) // Exemplo para NeoPixel Shield . Neste aplicativo, gostaríamos de usá-lo // como uma matriz 5x8 de altura, com a porta USB posicionada na parte superior do // Arduino. Quando mantido dessa forma, o primeiro pixel fica no canto superior direito e // as linhas são organizadas em colunas, em ordem progressiva. A blindagem usa // 800 KHz (v2) pixels que esperam dados de cor GRB. Matriz Adafruit_NeoMatrix =Adafruit_NeoMatrix (5, 8, PIN, NEO_MATRIX_BOTTOM + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG_ZIGZAG + matriz_ZIGZAG 16 [uB_Z800_const_168 cores] + NEO_GR800_cont 16_const. Cor (255, 0, 0), matriz.Cor (0, 255, 0), matriz.Cor (0, 0, 255)}; configuração vazia () {matriz.begin (); matrix.setTextWrap (false); matrix.setBrightness (40); matrix.setTextColor (colors [0]);} int x =matrix.width (); int pass =0; void loop () {matrix.fillScreen (0); matrix.setCursor (x, 0); matrix.print (F ("Olá")); if (- x <-36) {x =matrix.width (); if (++ passagem> =3) passagem =0; matrix.setTextColor (cores [passagem]); } matrix.show (); atraso (100);}
Esquemas