Manual
do
Maker
.
com
Para controlar um display LCD com Arduino ou PIC você não precisa de nada além do próprio display e um Arduino. Já escrevi artigos relacionados, mas tem uma questão; você precisa disponibilizar tanto I/O para o display que seu projeto provavelmente não terá GPIO suficiente para outros propósitos. Se for o seu caso, a solução é simples; utilize um PCF8574AT para "drivar" seu display.
Se quiser ver alguma coisa sem o PCF8574 pra ter uma ideia apenas, siga os links:
TFT LCD 16x2 com Arduino LCD 16x2 com PIC
A grande vantagem é que enquanto você utiliza montes de GPIO no Arduino sem um controlador, com esse driver você utiliza apenas 2 pinos do Arduino porque você fará uso do I²C! O único detalhe que você deve se ater é a qual Arduino ele será conectado, porque conforme for, os pinos do I²C diferente. O exemplo aqui será com um Attiny85, mas caso queira utilizar Arduinos ou outra coisa, dê uma lida nos tutoriais relacionados ao PCF8574 e I²C:
Expandindo IO no Attiny85 (prestes a sair um novo artigo para o Digispark, com ricos detalhes)
PCF8574 com Raspberry I²C com ESP8266 e MicroPython I²C com Raspberry
Esse artigos são bastante informativos e recomendados.
Esse módulo para display tem algumas diferenças em relação ao PCF8574 dos posts supracitados. Os endereços são os mesmos, iniciado em 0x20, que deve ser o endereço padrão quando você o recebe. A diferença principal está no trimpot sobre o módulo, utilizado para ajustar o brilho do display. Outra diferença está na impossibilidade de expansão do módulo por encaixe sequencial, como você pode reparar. Trabalha normalmente a 5V, portanto não há com o que se preocupar.
Se você não tem o display 16x2 ou se quer pegá-lo por um bom preço, aproveite para comprá-lo junto ao módulo I²C e assim economizar com o custo de envio, já que serão enviados juntos:
Só isso!
Agora pasme com a facilidade de integração; basta alinhar o módulo I²C sobre os pinos do display. Pronto!
Alimentação e GND você pode ligar normalmente a partir do Arduino (5V e GND). Especificamente no UNO, o pino SDA vai ao A4 e o pino SCL vai ao A5. Apenas isso. No Digispark (utilizado nesse artigo) você deve colocar SCL ao P2 e SDA ao P0.
Recomendo enfaticamente que utilize o módulo "Adafruit LiquidCrystal" que é um fork da LiquidCrystal, mas com sorte a Attiny85. Está entendendo? O Attiny85 também tem a capacidade de utilizar esse display! Para instalá-la, abra o Library Manager da IDE do Arduino e procure simplesmente por "liquid", já deve aparecer na segunda linha.
Comece pelos exemplos, isso já lhe dará toda a noção do que você pode fazer com esse display. Um exemplo modificado:
//#define DEBUG
#include <TinyWireM.h>
#include <LiquidCrystal_I2C.h>
#define GPIO_ADDR 0x3F
LiquidCrystal_I2C lcd(GPIO_ADDR,16,2);
void setup(){
TinyWireM.begin();
lcd.init();
lcd.backlight();
// Define colunas e linhas
lcd.begin(16, 2);
//coloca o cursor na coluna 1 primeira linha
lcd.setCursor(1, 0);
lcd.print("Manual do Maker");
//Coloca o cursor na coluna 0 e segunda linha:
lcd.setCursor(0, 1);
lcd.print("AutoCoreRobotica");
}
void loop(){
}
Mais fácil que isso? Só olhando pra esse display em máquinas de servir bebidas quentes!
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.