Fala pessoal, tudo na paz? Hoje, em nosso post vamos estar aprendendo a utilizar o Display LCD 16×2 com o Arduino. Ou seja, esse post veio para continuar apresentando os componentes primordiais e simples que dão aquele tcham ao seu projeto – tanto à protótipo, quanto a produto final.
Por que utilizar um Display LCD 16×2?
O display LCD 16×2 é a medida perfeita para você que procura um display de cristal líquido de baixíssimo custo, alta eficiência e baixos conhecimentos de programação para utilizá-lo.
Então, o nosso componente de hoje, possui como luz de fundo do display a cor AZUL, e sua escrita vem em BRANCO – seu tamanho compacto é outro fator preponderante na decisão de sua aquisição.
Configuração do Display LCD 16×2
Como resultado de seu nome, ele irá dispor de 16 colunas e 2 linhas, dando uma maior liberdade para o seu uso e manipulação de dados para serem impressos. Além disso, tem algo muito legal, há uma biblioteca nativa na nossa querida IDE Arduino (LiquidCrystal.h), facilitando ainda mais à programação.
Então, chega de lenga-lenga e vamos direto ao assunto. Portanto, aqui vão algumas características físicas e eletrônicas a serem conhecidas antes da aquisição:
- Controlador: HD44780;
- Cor backlight: Azul;
- Cor escrita: Branca;
- Dimensão Total: 80mm X 36mm X 12mm;
- Área visível: 64.5mm X 14mm;
- Dimensão Carácter: 3mm X 5.02mm;
- Ponto: 0.52mm X 0.54mm;
- Alimentação: 5V(VCC).
Então agora, Go Work!
Materiais Utilizados no Projeto
- Arduino Mega;
- Protoboard;
- LCD 16×2(Azul);
- Sensor de temperatura DHT22;
- Potenciômetro 10k;
- Resistor 4,7k;
- Jumpers.
Por fim, caso queira adquirir outros componentes além daqueles utilizados neste projeto, já sabe né? Você acha tudo que precisa AQUI na nossa loja :D.
Montagem do Circuito
Portas digitais utilizadas e seu correspondente no display:
| Pino LCD | Pino Arduino |
| VSS | GND |
| VDD | 5V |
| V0 | Pino Analógico POT |
| RS | 40 |
| RW | GND |
| E | 41 |
| D0 | – |
| D1 | – |
| D2 | – |
| D3 | – |
| D4 | 42 |
| D5 | 43 |
| D6 | 44 |
| D7 | 45 |
| A | VCC |
| k | GND |
Código comentado:
#include <DHT.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(40,41,42,43,44,45); // Porta RS, E, D4, D5, D6, D7
#define DHTTYPE DHT22 // Criando o objeto DHT, e declarando sua porta (24).
#define DHTPIN 24
DHT dht(DHTPIN, DHTTYPE);
#define ler_delay 30000
// Criando a função print LCD, para deixar o código mais enxuto.
void printLCD(){
lcd.clear();
lcd.setCursor(0,0); // Seta o cursor do LCD na Coluna 0 e Linha 0( Visualmente a primeira linha e primeira coluna).
lcd.print("Temp: ");
lcd.print(dht.readTemperature()); // Printa a leitura da temperatura
lcd.print("ºC");
lcd.setCursor(0,1); // Seta o cursor do LCd na Coluna 0 e Linha 1.
lcd.print("Umid: ");
lcd.print(dht.readHumidity()); // Printa a umidade
lcd.print("%");
}
void setup() {
Serial.begin(9600);
lcd.begin(16,2); // Inicia o objeto LCD e suas 16 colunas e 2 linhas
dht.begin(); // Inicia o objeto DHT(Sensor de temperatura e umidade)
}
void loop() {
delay(ler_delay); //Aguarda 30s
printLCD(); // Executa a função que printa os valores de Temp e Umi, no LCD, de acordo com a config.
}
Bibliotecas externas utilizadas:
Resultado do Projeto
Por fim, perceba que é simples, não? O display de LCD 16×2, particularmente, é um dos componentes mais legais e amplos que existem – claro na minha humilde opinião. Assim, você podendo utilizá-lo tanto para um simples monitoramento remoto, ler saídas seriais ou até mesmo desenvolvimento de jogos (utilizando pixel por pixel).
Então, o que acharam? Legal? Divertido? Um tédio?
Por fim, peço que deixe seu comentário ai embaixo, seu joinha no nosso Facebook – e não perca o nosso próximo post no blog.
