Arduino – Como criar caracteres especiais
Por Ricardo Sousa para o Pplware.com
Hoje vamos explorar um pouco mais o ecrã num arduino, não que seja já para avançar para algum trabalho mais rebuscado, não, vamos avançar passo a passo, com pequenos saltos para quem está a começar nos poder acompanhar, mas o intuito deste artigo de hoje é ajudar a criar os vossos próprios caracteres para utilizar no LCD ligado ao vosso Arduino.
Primeiro de tudo se precisam de ajuda para ligar o LCD ao Arduino podem seguir as dicas deixadas num ótimo e simples artigo.
Vamos agora ver o restante trabalho, também ele simples, que necessitam.
Depois de fazerem as ligações, conforme o artigo acima indicado, vamos fazer download do seguinte programa em java: (LCDv1.0.jar)
O interface desta aplicação é muito fácil, depois é só utilizar a imaginação ou a necessidade:
Exemplo 1
Exemplo 2
Exemplo 3
Poderão encontrar abaixo um código exemplo para testarem o que aprenderam:
// incluir livraria para o LCD: #include <LiquidCrystal.h>
LiquidCrystal lcd(25, 11, 5, 22, 3, 23);
// copiar para aqui o codigo fornecido pela aplicação de criar caracteres // caracter bateria vazia byte batlow[8] = { B01110, B11011, B10001, B10001, B10001, B10001, B10001, B11111 }; // caracter bateria meio byte batmed[8] = { B01110, B11011, B10001, B10001, B11111, B11111, B11111, B11111 }; // caracter bateria cheia byte batfull[8] = { B01110, B11111, B11111, B11111, B11111, B11111, B11111, B11111 }; // caracter bateria coracao byte coracao[8] = { B00000, B01010, B11111, B11111, B11111, B01110, B00100, B00000 };
void setup() { // vai criar novo caracter bateria vazia lcd.createChar(0, batlow); // vai criar novo caracter bateria media lcd.createChar(1, batmed); // vai criar novo caracter bateria cheia lcd.createChar(2, batfull); // vai criar novo caracter bateria cheia lcd.createChar(3, coracao);
lcd.begin(16, 2); //inicializa o LCD 16x2
lcd.setCursor(0, 2); //aponta para coluna 0, linha 2 lcd.print("I "); lcd.write(3); //escreve o coracao lcd.print(" PPLWARE!");
lcd.setCursor(2, 0); //aponta para coluna 2, linha 0 lcd.print("...a carregar"); }
void loop() { //desenha no LCD a simulação bateria a carregar for(int i=0; i<3; i++){ lcd.setCursor(0, 0); //aponta para coluna 0, linha 0 lcd.write(i); //escreve lcd.write(1); lcd.write(2); lcd.write(3); delay(800); }
}
Há muitos mais caracteres que podem ser usados e imagens que são possíveis no ecrã. Uma pesquisa pela web descobrem uma imensidão de novas formas, mas o básico, o conceito está aqui explicado e a aplicação está aqui apresentada. Agora é a vossa imaginação.
Este artigo tem mais de um ano
Esse LCD é 16×2?
Sim é um 16×2
Já agora fica aqui o link para Mac
http://sourceforge.net/projects/arduinolcd/files/LCDv1.0.jar/download
Viva pessoal, sou “iniciante” no arduino e por isso estou com dificuldades em saber como faço para abrir a interface do programa acima.
Já fiz o download e aparecem vários ficheiros, mas nenhum deles é executável. Se puderem dar uma ajuda agradeço.
Cumprimentos e bom ano.
Muito bom muito bem explicado
Oi pessoal, segui este tutorial a risca e daí não havia conseguido criar o caractere especial, após pesquisar mais um pouco vi que precisava estar em hexadecimal. Não sei se pela versão da minha IDE ou até da biblioteca LCD, mas só funcionou quando coloque os valores do vetor em hexa.
Fiz uma ferramenta idêntica em java com a mesma funcionalidade.
https://drive.google.com/open?id=1q-n_-Fb83iALDB_Wzq_mL5UBy8mD_Zwa
Caso não tenha o Java instalado na máquina, fiz também em excel.
https://drive.google.com/open?id=1hJtGM-iltIZZMCyYJtBtMsLk3cA3idKB
no caso usando a interface i2c como ficaria? (percebe-se que não sei nada de arduino)