/******************************************************************************* ** * Projeto 74 - Exibindo textos - Módulo Matriz MAX7219 - Código otimizado * Autor: Angelo Luis Ferreira * Data: 08/01/2020 (dd/mm/AA) * http://squids.com.br/arduino * *******************************************************************************/ #include "LedControlMS.h" #include "alfa.h" // incluimos a biblioteca alfa.h /* Criando o objeto lc ***** Definindo os pinos de conexão do módulo MAX7219 ***** pino 2 conectado no DIN pino 3 conectado no CLK pino 4 conectado no CS N_MTX = 1 - Número de dispositivos (Máximo de 8 módulos MAX7219) */ const byte N_MTX = 3; LedControl lc=LedControl(2,3,4, N_MTX); char texto[] = "APRENDA COM OS PROJETOS SQUIDS ARDUINO "; // colocque qualquer frase aqui const byte texto_len = sizeof(texto); // conta o número de caracteres do texto int charachter; byte speedCount = 10; //altere para aumentar ou diminuir a velocidade de exibição void setup() { for (int i=0; i< N_MTX; i++){ lc.shutdown(i,false); lc.setIntensity(i,8); /* define o brilho dos leds - médio */ lc.clearDisplay(i); /* limpa o display */ } } void loop() { for(byte count = 0; count < texto_len; count++) { for (byte a =0; a<=speedCount; a++) { getChar(texto[count]); drawScreen(charachter); } } } void drawScreen(int buffer[]) { for (int i = 0; i < 8; i++) { // linhas for (int j = 0; j < 8; j++) { // colunas lc.setLed(0, i, j, bitRead(buffer[i], 7 - j)); // usando bitRead() //lc.setLed(0, i, j, (buffer[i] >> 7-j) & 0X01); // usando operador bitwise } } } void getChar(char msgChar) { switch(msgChar){ case 'A': charachter = A; break; case 'a': charachter = A; break; case 'B': charachter = B; break; case 'b': charachter = B; break; case 'C': charachter = C; break; case 'c': charachter = C; break; case 'D': charachter = D; break; case 'd': charachter = D; break; case 'E': charachter = E; break; case 'e': charachter = E; break; case 'F': charachter = F; break; case 'f': charachter = F; break; case 'G': charachter = G; break; case 'g': charachter = G; break; case 'H': charachter = H; break; case 'h': charachter = H; break; case 'I': charachter = I; break; case 'i': charachter = I; break; case 'J': charachter = J; break; case 'j': charachter = J; break; case 'K': charachter = K; break; case 'k': charachter = K; break; case 'L': charachter = L; break; case 'l': charachter = L; break; case 'M': charachter = M; break; case 'm': charachter = M; break; case 'N': charachter = N; break; case 'n': charachter = N; break; case 'O': charachter = O; break; case 'o': charachter = O; break; case 'P': charachter = P; break; case 'p': charachter = P; break; case 'Q': charachter = Q; break; case 'q': charachter = Q; break; case 'R': charachter = R; break; case 'r': charachter = R; break; case 'S': charachter = S; break; case 's': charachter = S; break; case 'T': charachter = T; break; case 't': charachter = T; break; case 'U': charachter = U; break; case 'u': charachter = U; break; case 'V': charachter = V; break; case 'v': charachter = V; break; case 'W': charachter = W; break; case 'w': charachter = W; break; case 'X': charachter = X; break; case 'x': charachter = X; break; case 'Y': charachter = Y; break; case 'y': charachter = Y; break; case 'Z': charachter = Z; break; case 'z': charachter = Z; break; case ' ': charachter = _; break; case '3': charachter = B2; break; case '<': charachter = TEMP; break; case '*': charachter = FULL; break; case '|': charachter = LINE; break; case '_': charachter = _; break; case ':': charachter = COL; break; case '-': charachter = DASH; break; case ')': charachter = BRA2; break; case '%': charachter = SMILE; break; case '.': charachter = DOT; break; case '^': charachter = COLDOT; break; } }