Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Controlando a matriz de LED 8x8 sem drivers e bibliotecas

Componentes e suprimentos

Arduino Nano R3
× 1
Display de matriz de pontos LED, vermelho
× 1
Resistor de furo passante, 330 ohm
× 1

Sobre este projeto


Este vídeo é um tutorial sobre como controlar a matriz de LED 8x8 de cátodo comum 1088AS sem o uso de nenhum chip de driver como o MAX7219 e as bibliotecas correspondentes.

Em breve vou criar o segundo tutorial de controle da mesma matriz, mas desta vez usando MAX7219 e comparar os resultados.

O tutorial completo pode ser encontrado aqui:

Se você gosta deste conteúdo e quer me apoiar na criação de vídeos semelhantes, vá para minha página do Patreon

https://www.patreon.com/MariosIdeas

Ou

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7PD67JWZ9S3EJ&source=url




Código

  • Testando todos os 64 LED da matriz 8x8 LED
  • Exibindo imagem de gato em matriz LED 8x8 (multiplexação)
  • Texto de rolagem em matriz LED 8x8 (multiplexação)
Testando todos os 64 LEDs da matriz 8x8 LED Arduino
 // Idéias do Mario // Testando todos os 64 leds em uma matriz de LED 8x8 iluminando-os um por um // Raws # define R1 2 # define R2 3 # define R3 4 # define R4 5 # define R5 6 # define R6 7 # define R7 8 # define R8 9 // Colunas # define C1 10 # define C2 11 # define C3 12 # define C4 13 # define C5 A0 # define C6 A1 # define C7 A2 # define C8 A3void setup () {pinMode ( R1, SAÍDA); pinMode (R2, OUTPUT); pinMode (R3, OUTPUT); pinMode (R4, OUTPUT); pinMode (R5, OUTPUT); pinMode (R6, OUTPUT); pinMode (R7, OUTPUT); pinMode (R8, OUTPUT); pinMode (C1, OUTPUT); pinMode (C2, SAÍDA); pinMode (C3, OUTPUT); pinMode (C4, OUTPUT); pinMode (C5, OUTPUT); pinMode (C6, OUTPUT); pinMode (C7, OUTPUT); pinMode (C8, OUTPUT); // Desligando todos os LEDs no início do esboço digitalWrite (R1, HIGH); digitalWrite (R2, ALTO); digitalWrite (R3, HIGH); digitalWrite (R4, HIGH); digitalWrite (R5, HIGH); digitalWrite (R6, HIGH); digitalWrite (R7, HIGH); digitalWrite (R8, HIGH); digitalWrite (C1, LOW); digitalWrite (C2, LOW); digitalWrite (C3, LOW); digitalWrite (C4, LOW); digitalWrite (C5, LOW); digitalWrite (C6, LOW); digitalWrite (C7, LOW); digitalWrite (C8, LOW);} void SelectRow (int row) {if (row ==1) digitalWrite (R1, LOW); senão digitalWrite (R1, HIGH); if (linha ==2) digitalWrite (R2, LOW); senão digitalWrite (R2, HIGH); if (linha ==3) digitalWrite (R3, LOW); senão digitalWrite (R3, HIGH); if (linha ==4) digitalWrite (R4, LOW); senão digitalWrite (R4, HIGH); if (linha ==5) digitalWrite (R5, LOW); senão digitalWrite (R5, HIGH); if (linha ==6) digitalWrite (R6, LOW); senão digitalWrite (R6, HIGH); if (linha ==7) digitalWrite (R7, LOW); senão digitalWrite (R7, HIGH); if (linha ==8) digitalWrite (R8, LOW); else digitalWrite (R8, HIGH);} void SelectColumn (coluna interna) {if (coluna ==1) digitalWrite (C1, HIGH); senão digitalWrite (C1, LOW); if (coluna ==2) digitalWrite (C2, HIGH); senão digitalWrite (C2, LOW); if (coluna ==3) digitalWrite (C3, HIGH); senão digitalWrite (C3, LOW); if (coluna ==4) digitalWrite (C4, HIGH); senão digitalWrite (C4, LOW); if (coluna ==5) digitalWrite (C5, HIGH); senão digitalWrite (C5, LOW); if (coluna ==6) digitalWrite (C6, HIGH); senão digitalWrite (C6, LOW); if (coluna ==7) digitalWrite (C7, HIGH); senão digitalWrite (C7, LOW); if (coluna ==8) digitalWrite (C8, HIGH); else digitalWrite (C8, LOW);} void loop () {for (int i =1; i <9; i ++) {for (int j =1; j <9; j ++) {SelectRow (i); SelectColumn (j); atraso (100); }}} 
Exibindo imagem de gato em matriz LED 8x8 (multiplexação) Arduino
 // Idéias do Mario // Exibindo a imagem do gato em 8x8 LED Matrix (Multiplexação) // Raws # define R1 2 # define R2 3 # define R3 4 # define R4 5 # define R5 6 # define R6 7 # define R7 8 # define R8 9 // Colunas # define C1 10 # define C2 11 # define C3 12 # define C4 13 # define C5 A0 # define C6 A1 # define C7 A2 # define C8 A3int pausa =300; int Cat [8] [8] ={{1,0,0,0,1,0,0,0}, {1,1,1,1,1,0,0,0}, {1,0 , 1,0,1,0,0,0}, {0,1,1,1,0,0,0,1}, {0,0,1,0,0,0,0,1}, {0,1,1,1,1,0,0,1}, {0,1,1,1,1,1,0,1}, {1,0,1,1,1,1,1 , 0},}; configuração void () {pinMode (R1, SAÍDA); pinMode (R2, OUTPUT); pinMode (R3, OUTPUT); pinMode (R4, OUTPUT); pinMode (R5, OUTPUT); pinMode (R6, OUTPUT); pinMode (R7, OUTPUT); pinMode (R8, OUTPUT); pinMode (C1, OUTPUT); pinMode (C2, SAÍDA); pinMode (C3, OUTPUT); pinMode (C4, OUTPUT); pinMode (C5, OUTPUT); pinMode (C6, OUTPUT); pinMode (C7, OUTPUT); pinMode (C8, OUTPUT); digitalWrite (R1, HIGH); digitalWrite (R2, ALTO); digitalWrite (R3, HIGH); digitalWrite (R4, HIGH); digitalWrite (R5, HIGH); digitalWrite (R6, HIGH); digitalWrite (R7, HIGH); digitalWrite (R8, HIGH); digitalWrite (C1, LOW); digitalWrite (C2, LOW); digitalWrite (C3, LOW); digitalWrite (C4, LOW); digitalWrite (C5, LOW); digitalWrite (C6, LOW); digitalWrite (C7, LOW); digitalWrite (C8, LOW);} void SelectRow (int row) {if (row ==1) digitalWrite (R1, LOW); senão digitalWrite (R1, HIGH); if (linha ==2) digitalWrite (R2, LOW); senão digitalWrite (R2, HIGH); if (linha ==3) digitalWrite (R3, LOW); senão digitalWrite (R3, HIGH); if (linha ==4) digitalWrite (R4, LOW); senão digitalWrite (R4, HIGH); if (linha ==5) digitalWrite (R5, LOW); senão digitalWrite (R5, HIGH); if (linha ==6) digitalWrite (R6, LOW); senão digitalWrite (R6, HIGH); if (linha ==7) digitalWrite (R7, LOW); senão digitalWrite (R7, HIGH); if (linha ==8) digitalWrite (R8, LOW); else digitalWrite (R8, HIGH);} void Set_LED_in_Active_Row (coluna int, estado interno) {if (coluna ==1) digitalWrite (C1, estado); if (coluna ==2) digitalWrite (C2, estado); if (coluna ==3) digitalWrite (C3, estado); if (coluna ==4) digitalWrite (C4, estado); if (coluna ==5) digitalWrite (C5, estado); if (coluna ==6) digitalWrite (C6, estado); if (coluna ==7) digitalWrite (C7, estado); if (coluna ==8) digitalWrite (C8, estado); } void loop () {for (int j =0; j <8; j ++) {SelectRow (j + 1); para (int i =0; i <8; i ++) {Set_LED_in_Active_Row (i + 1, Cat [j] [i]); } atraso (2 + pausa); } if (pause! =0 and pause> 100) pause =pause-100; if (pause! =0 and pause <=100) pause =pause-10;} 
Texto de rolagem em matriz LED 8x8 (Multiplexação) Arduino
 // Idéias do Mario // Texto de rolagem na matriz LED 8x8 (Multiplexação) // Raws # define R1 2 # define R2 3 # define R3 4 # define R4 5 # define R5 6 # define R6 7 # define R7 8 # define R8 9 // Colunas # define C1 10 # define C2 11 # define C3 12 # define C4 13 # define C5 A0 # define C6 A1 # define C7 A2 # define C8 A3int position =0; int Marios_ideas [8] [54] ={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 , 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0}, {0,1,0,0,0,1,0,0,1,1,0,0,1,1,1 , 0,0,0,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1 , 1,0,0,1,1,0,0,0,0,1,1,0,0,0,0}, {0,1,1,0,1,1,0,1,0,0 , 1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1,0 , 0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0}, {0,1,0,1,0 , 1,0,1,0,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0 , 0,1,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0}, {0,1,0,0,0,1,0,1,1,1,1,0,1,1,1,0,0,1,0,1,0,0,1,0,0 , 1,1,0,0,0,0,1,0,1,0,0,1,0,1,1,1,0,1,1,1,1,1,0,0,1,1 , 0,0,0,0}, {0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1 , 0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,0 , 1,0,0,0,0,1,0,0,0}, {0,1,0,0,0,1,0,1,0,0,1,0,1,0,0 , 1,0,1,0,0,1,1,1,0,0,1,0,0, 1,0,0,0,1,0,1,1,1,0,0,1,0 , 0,0,1,0,0,1,0,1,0,0,1,0,0,0}, {0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0 , 0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0}}; configuração vazia () {pinMode (R1, SAÍDA); pinMode (R2, OUTPUT); pinMode (R3, OUTPUT); pinMode (R4, OUTPUT); pinMode (R5, OUTPUT); pinMode (R6, OUTPUT); pinMode (R7, OUTPUT); pinMode (R8, OUTPUT); pinMode (C1, OUTPUT); pinMode (C2, SAÍDA); pinMode (C3, OUTPUT); pinMode (C4, OUTPUT); pinMode (C5, OUTPUT); pinMode (C6, OUTPUT); pinMode (C7, OUTPUT); pinMode (C8, OUTPUT); digitalWrite (R1, HIGH); digitalWrite (R2, ALTO); digitalWrite (R3, HIGH); digitalWrite (R4, HIGH); digitalWrite (R5, HIGH); digitalWrite (R6, HIGH); digitalWrite (R7, HIGH); digitalWrite (R8, HIGH); digitalWrite (C1, LOW); digitalWrite (C2, LOW); digitalWrite (C3, LOW); digitalWrite (C4, LOW); digitalWrite (C5, LOW); digitalWrite (C6, LOW); digitalWrite (C7, LOW); digitalWrite (C8, LOW);} void SelectRow (int row) {if (row ==1) digitalWrite (R1, LOW); senão digitalWrite (R1, HIGH); if (linha ==2) digitalWrite (R2, LOW); senão digitalWrite (R2, HIGH); if (linha ==3) digitalWrite (R3, LOW); senão digitalWrite (R3, HIGH); if (linha ==4) digitalWrite (R4, LOW); senão digitalWrite (R4, HIGH); if (linha ==5) digitalWrite (R5, LOW); senão digitalWrite (R5, HIGH); if (linha ==6) digitalWrite (R6, LOW); senão digitalWrite (R6, HIGH); if (linha ==7) digitalWrite (R7, LOW); senão digitalWrite (R7, HIGH); if (linha ==8) digitalWrite (R8, LOW); else digitalWrite (R8, HIGH);} void Set_LED_in_Active_Row (coluna int, estado interno) {if (coluna ==1) digitalWrite (C1, estado); if (coluna ==2) digitalWrite (C2, estado); if (coluna ==3) digitalWrite (C3, estado); if (coluna ==4) digitalWrite (C4, estado); if (coluna ==5) digitalWrite (C5, estado); if (coluna ==6) digitalWrite (C6, estado); if (coluna ==7) digitalWrite (C7, estado); if (coluna ==8) digitalWrite (C8, estado); } void loop () {for (int x =0; x <5; x ++) {for (int j =0; j <8; j ++) {SelectRow (j + 1); para (int i =0; i <8; i ++) {Set_LED_in_Active_Row (i + 1, Marios_ideas [j] [(i + posição) -abs ((i + posição) / 54) * 54]); } atraso (2); }} posição =posição + 1;} 

Peças personalizadas e gabinetes

Esquemas


Processo de manufatura

  1. Diodo emissor de luz (LED)
  2. Os drivers de LED compactos da Maxim fornecem alta eficiência e baixa EMI
  3. Melodia para dança do caixão
  4. Jogo Arduino Pong em Matriz 24x16 com MAX7219
  5. Matriz LED + Display da porta do sensor de movimento [Arduino Holiday]
  6. Iluminação LED 8x por som
  7. Arduino Quadruped
  8. Lâmpada de matriz LED com cola quente
  9. Controle de brilho do LED usando Bolt e Arduino
  10. Controlando a matriz de LED 8x8 sem drivers e bibliotecas