Escolha uma Página

Criando logotipos personalizados no display 16×2 para os seus projetos com Arduino.

5 ago - 2020

Hoje, neste post, vamos aprender de uma maneira rápida e fácil como criar logotipos personalizados no display LCD 16x2 para incrementar o seu projeto com o Arduino. O grande diferencial desta proposta é que desenvolvemos, para você leitor, uma aplicação especial para criar seus logotipos no Excel rapidamente.

O display alfanumérico 16x2 de cristal liquido (LCD), baseado no controlador Hitachi HD44780, é amplamente utilizado nos projetos que envolvem a plataforma Arduino, conferindo ao projeto uma interface textual de comunicação com o usuário. No entanto, este tipo de display possui a limitação de exibir somente caracteres alfanuméricos predefinidos e que se encontram armazenados em uma tabela na memória CGROM do controlador do display. Sendo assim, não é possível enviar de maneira direta uma figura para o display, uma vez que só é possível enviar caracteres ao display. Mas existe uma memória RAM chamada de CGRAM  no controlador do display e essa memória é destinada a receber  até oito caracteres customizados pelo projetista.

Lista de materiais

Os materiais acima podem ser substituídos por similares, como, por exemplo, o Arduino UNO R3 pode ser substituído pelo Arduino Nano.

Diagrama de montagem

Observe a figura 1 com o diagrama de montagem, nesta etapa é importante executar a montagem com calma para evitar fazer conexões erradas, sobretudo conexões que possam gerar curto-circuito entre os terminais do seu Arduino.

Figura 1: Diagrama de montagem do prototipo.

 

Criando o seu logotipo

No display 16x2, temos duas linhas e dezesseis colunas  que abrigam os caracteres. Cada caractere é formado em uma pequena matriz de 8x5 pixels. Vamos aprender hoje como manipular essas pequenas matrizes de 8x5 pixels a fim de construir um logotipo ou desenho. Essa construção pode ser feita apenas com o espaço de um caractere ou com um conjunto de caracteres perfazendo uma figura maior. Lembre-se que podemos utilizar no máximo até 8 caracteres personalizados por conta da limitação de memória CGRAM do display.

Criamos uma planilha no Excel para que os logos possam ser desenhados com facilidade, na figura 2 temos uma visão geral da planilha, observe a área verde destinada a criação do logo onde você poderá editar apenas clicando sobre o pixel que deseja preencher. Além disso, há três botões na planilha: um para limpar toda área de desenho; um segundo botão que é responsável por preencher todos os pixels da área de desenho; e, por fim, o ultimo botão que inverte o desenho. Lembre-se que não é necessário utilizar toda a área de desenho, ficando a critério do leitor as dimensões de seu logo ou figura.

GERADOR DE LOGO V1.3

 

Figura 2: Visão geral da planilha para fazer o desenho do logo.

Ao abrir a planilha é necessário que você autorize a execução de macros do Excel. Caso essa autorização seja negada, a planilha não irá funcionar. Uma vez concedida a permissão para a execução de macros do Excel, comece a desenvolver o seu logotipo ou figura. Lembre-se que não é necessário utilizar todos os 8 caracteres disponíveis para criar o seu logo. Após preencher a área de desenho, copie os bytes fornecidos na tabela para o código fonte do Arduino, lembre-se que essa copia deve ser feita em ordem, pois cada byte possui um número identificador.

 

Código fonte

Copie e cole esse código fonte na IDE do Arduino e compile para verificar a sua montagem. Se tudo ocorrer como esperado, deverá aparecer o logo da Módulo Eletrônica. Feito isso, dê inicio ao processo de produção do seu logo ou figura e substitua os bytes gerados no Excel pelos que estão no código fonte. Lembre-se que, caso você use menos do que 8 caracteres na sua figura, é necessário modificar o contador do segundo laço de repetição para que sejam impressos no display apenas os caracteres criados por você.


#include <LiquidCrystal.h>

//seta os pinos do LCD
LiquidCrystal lcd(A5,A4,A0,A1,A2,A3);
               //(RS, E, D4, D5, D6, D7).


// simbolo da modulo eletronica, apos gerar seu logo no excel substitua os conjuntos de bytes em ordem, cuidado para nao errar a sequencia.
byte SIMB1[8] = { B11100,
                  B11110,
                  B11111,
                  B11101,
                  B11100,
                  B11100,
                  B11100,
                  B11100
                 };

byte SIMB2[8] = { B00000,
                  B00000,
                  B00000,
                  B10000,
                  B11100,
                  B01111,
                  B00111,
                  B00001
                 };

byte SIMB3[8] = { B00000,
                  B00000,
                  B00000,
                  B00001,
                  B00111,
                  B11110,
                  B11100,
                  B10000
                 };


byte SIMB4[8] = { B00111,
                  B01111,
                  B11111,
                  B10111,
                  B00111,
                  B00111,
                  B00111,
                  B00111
                 };

byte SIMB5[8] = { B11100,
                  B11100,
                  B11100,
                  B11100,
                  B11100,
                  B11100,
                  B11100,
                  B11100
                 };


byte SIMB6[8] = { B00000,
                  B00001,
                  B00011,
                  B00011,
                  B00001,
                  B00000,
                  B00000,
                  B00000
                 };


byte SIMB7[8] =  { B00000,
                   B10000,
                   B11000,
                   B11000,
                   B10000,
                   B00000,
                   B00000,
                   B00000
                  };

byte SIMB8[8] = { B00111,
                  B00111,
                  B00111,
                  B00111,
                  B00111,
                  B00111,
                  B00111,
                  B00111
                 };



void setup() {
  
//inicializa o controlador do display LCD
lcd.begin(16, 2);

//essa secao é reponsavel por alocar os conjuntos de bytes que formam a figura na memoria CGRAM do display LCD.
  lcd.createChar(1, SIMB1);
  lcd.createChar(2, SIMB2);
  lcd.createChar(3, SIMB3);
  lcd.createChar(4, SIMB4);
  lcd.createChar(5, SIMB5);
  lcd.createChar(6, SIMB6);
  lcd.createChar(7, SIMB7);
  lcd.createChar(8, SIMB8);

  byte Count = 1;

  lcd.clear();
  //imprime no lcd os bytes personalizados SIMB1, SIMB2, SIMB3...
  for (byte y = 0; y < 2; y++) {
    for (byte x = 0; x < 4; x++) {
      lcd.setCursor(x, y);
      lcd.write(Count);
      Count++;
     
    }
    
  }
  
  lcd.setCursor(4, 0);
  lcd.print("   MODULO");
  lcd.setCursor(4, 1);
  lcd.print(" ELETRONICA"); 

}

void loop() {
//SEU PROGRAMA AQUI
}

Exemplo de figuras criadas na aplicação Excel

Alguns exemplos de figuras criadas na aplicação Gerador de Logo V1.3 são exibidas na figura 3. Caso queira utilizar alguma dessas figuras, faça o download do arquivo BYTES DE FIGURAS que contem um arquivo de texto para cada figura, com os bytes que formam cada caractere necessário para desenhar as figuras no display.

 

Figura 3: Figuras criadas na aplicação Gerador de Logo V1.3, figurinhas: alvo, capacitor, bandeira formula um, robozinho e macaquinho.

 

 

Não deixe de acompanhar os nossos próximos artigos no blog, e também estamos curiosos para ver o seu logotipo, publique no Instagram e marque a página da @moduloeletronica!

 

Rafael Valsani Leme Passos

Rafael Valsani Leme Passos

Sobre o autor: Rafael Valsani Leme Passos é técnico em eletrônica pela ETEC Bento Quirino e graduando em Engenharia de Alimentos pela Universidade Estadual de Campinas. 

3 Comentários

  1. Ótima matéria, vou tentar montar!

    Responder
    • Que bom que gostou, não deixe de compartilhar a sua montagem e figura com a gente!

      Responder
  2. Parabéns! Adorei!

    Responder

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Facebook

VEJA TAMBÉM

Regador automático de plantas com Arduino

Aprenda neste artigo, como automatizar a rega de suas plantas, utilizando o Arduino NANO. Este projeto, além do baixo custo, pode ser montado em menos de uma hora e irá garantir que as suas plantas sempre tenham água disponível, garantido um crescimento adequado e...

Fita de LEDs RGB endereçáveis WS2812B e a biblioteca fastLED

No post de hoje, vamos conhecer a fita de LEDs WS2812B endereçáveis e como utilizá-la com o Arduino UNO.  Essa fita de LEDs se destaca, em relação as outras do mercado, pelo fato de que seus LEDs podem ser controlados de maneira individual, permitindo que o...

NEWSLETTER

Assine nossa newsletter e receba as novidades.

ATENDIMENTO

(19) 3579-7189