Imprimindo um caractere e seu valor Binário em um Display LCD
Neste experimento iremos montar um circuito e desenvolver um programa que será responsável pela leitura de um caractere e sua impressão em valor binário (como visto em postagens anteriores) em um visor LCD 16 x 2.
Para a realização do experimento iremos precisar de alguns componentes:
1 - Placa Arduíno Uno;
1 - Potenciômetro 250 kΩ;
1 - Resistor de 220 Ω;
1 - Display LCD 16 X 2;
1- Protoboard;
23 - Jumpers (Macho/Macho);
Para realizar as ligações do Display LCD para que ele funcione adequadamente, precisaremos fazer um simples circuíto seguindo a tabela a seguir:
Os pinos "Backlight Cathode" e "Backlight Anode" são os pinos responsáveis pelo acendimento do LED, portanto na saida "Backlight Cathode" deve-se ligar um resistor de 250 kΩ, e na saída "Backlight Anode", deve-se ligar no polo negativo da protoboard.
O terminal 2 do potenciômetro deve ser conectado na saída VSS (GND), o pino central deve ser ligado na saída VE (V0), e por último deve-se ligar o terminal 1 no polo positivo da protoboard.
Portanto seu circuíto deverá ficar parecido com este:
Nosso último passo é desenvolver a programação que será responsável por imprimir o valor binário de um caractere no visor LCD.
Nosso primeiro passo, é importar a biblioteca responsável por fazer o visor LCD funcionar. Então na primeira linha do código, ou seja, antes do "void Setup", iremos escrever o seguinte comando:
#include <LiquidCrystal.h>
Tendo feito isso, devemos inicializar a variável para leitura de um caractere. Também iremos adicionar o comando responsável por inicializar a biblioteca com os pinos escolhidos.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Inicializa os pinos
char leitura; //Variavel que irá armazenar o caractere
O próximo passo é inicializarmos a variável que configura a taxa de bits por segundo (Serial.begin()) e inicializarmos uma variável com o número de colunas e linhas do visor, como estamos usando um LCD de 16 x 2, essas serão as dimensões inicializadas.
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.clear(); //Limpa o que está no visor
}
Note que tais variáveis foram inicializadas dentro do "void setup".
Por fim, iremos adicionar o comando de leitura do caractere e os comandos de impressão no visor.
void loop() {
leitura = Serial.read();
lcd.setCursor(0,0);//Imprime a partir da coluna e linha 0.
lcd.print("Letra: ");//Imprime "leitura"
lcd.print(leitura); //Imprime o caractere lido
lcd.setCursor(0,1); //Imprime a partir da coluna 0 e linha 1.
lcd.print("Binario: ");//Imprime "Binário"
lcd.print(leitura,BIN);//Imprime o caractere em binário
delay (3000);
}
Portanto, os comando que são utilizados para um display LCD são:
#include <LiquidCrystal.h> Biblioteca do Visor LCD.
lcd.begin(nColunas, nLinhas); Informa o tamanho do visor
lcd.clear(); Limpa o visor.
lcd.setCursor(Xcoluna,Ylinha); Informa onde o texto deverá ser adicionado.
lcd.print(); Imprime um texto.
TINKECARD: https://www.tinkercad.com/things/9MfJ4EU2kMk
Teoria precisa ser aprofundada. Alem disso a representação deveria ser em Decimal, Hex, e Binario
ResponderExcluirTanto para uma leitura na porta Ao de um valor e tensão quanto para a digitação no monitor serial de um caractere