Você está na página 1de 7

TUTORIAL Display de Cristal Lquido Autor: Tiago Lone Nvel: Bsico Criao: 09/03/2006 ltima verso: 18/12/2006 PdP

Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br http://www.automato.com.br contato@maxwellbohr.com.br atendimento@automato.com.br 1 - Introduo Nesse tutorial iremos abordar o controle do display de cristal lquido (LCD) que p ode ser conectado ao Mdulo de Motores e Displays ou ao Mdulo de Entradas, Sadas e Servo Motores. Esse display possui uma estrutura formada por 4 linhas e 20 colunas em que podem ser apresentados caracteres, o que permite a apresentao de textos relativamente grande s. Outro recurso interessante que esse display possui uma luz de fundo que permite a visu alizao das informaes mesmo em ambientes escuros. Veremos, nesse tutorial, como controlar esses recursos a partir de um programa n o computador. Para auxiliar nesse estudo, ser desenvolvido um programa que permite controlar todos os recursos do LCD. 2 - Material O programa desenvolvido nesse tutorial vai precisar do Mdulo Principal e o Mdulo de Motores e Displays ou do Mdulo de Entradas, Sadas e Servo Motores com o display de cristal lquido conectado. Para a criao do programa ser necessrio o Borland Delphi 6. A seguir a imagem da placa principal do Mdulo de Motores e Displays do KDR5000 com o display de cristal lquido. 1 Figura 1: Montagem do KDR5000 utilizada nesse tutorial. 3 - Projeto Nesse tutorial vamos criar um programa que permite total controle sobre o displa y de cristal lquido. Ele ir permitir o envio de textos, controle de visualizao e posicion amento do cursor, acionamento da luz de fundo e limpeza o contedo do LCD. A interface grfica desse programa ser a seguinte. Nosso primeiro passo na criao desse programa desenvolver a interface grfica. Vamos utilizar o projeto criado no tutorial Base, que j nos fornece algumas funci onalidades interessantes, e em cima dele vamos adicionar alguns componentes grficos extras. Para isso temos apenas que copiar o projeto daquele tutorial. A primeira coisa que modificaremos no projeto a propriedade Caption do Form principal, que possui o texto Projeto Base. Vamos modificar para Display de Cristal Lquido. Com isso j podemos comear a adicionar os componentes grficos ao Form. Para modificar a interface grfica criada no tutorial Base para a interface do pro grama desse tutorial vamos precisar adicionar alguns componentes ao Form principal. Ad

icionaremos trs Labels, dois ComboBox, dois CheckBox, um Edit e dois Button. Os Labels so utiliza dos apenas para identificar a funcionalidade dos ComboBox e do Edit. Os ComboBox so utilizad os para selecionar a linha e coluna do cursor no display. O Edit utilizado para que poss amos escrever o texto que vamos enviar ao LCD. Os CheckBox controlam visualizao do cursor e o acio namento da luz de fundo do display. Por fim temos um boto para enviar o texto do Edit par a o display e um boto para limpar o contedo no LCD. Todos esses componentes podem ser encontrados na aba Standard da barra de componentes. Vamos adicionar dois Labels e dois ComboBox para o controle da posio do cursor no display. O componente Label possui o seguinte cone. 2 Figura 3: Aba "Standard" da Barra de componente. Figura 2: Interface grfica do programa que ser criado nesse tutorial. E o componente ComboBox possui o seguinte cone. Aps adicionar os dois componentes Label, modificamos as seguintes propriedades do primeiro. Name = LabelLinha Caption = Linha: Font/Style/fsBold = true E as seguintes propriedades do segundo. Name = LabelColuna Caption = Coluna: Font/Style/fsBold = true Em seguida vamos modificar as propriedades dos ComboBox. Modificamos as seguintes propriedades do primeiro ComboBox. Name = ComboBoxLinha Style = csDropDownList Items.Strings = 0, 1, 2, 3 ItemIndex = 0 E as seguintes propriedades do segundo ComboBox. Name = ComboBoxColuna Style = csDropDownList 3 Figura 4: cone do componente Label. Figura 5: cone do componente ComboBox. Items.Strings = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ItemIndex = 0 Com isso o Form ter a seguinte aparncia. Agora vamos adicionar dois componentes CheckBox, um para controle da visualizao do cursor e outro para acionamento da luz de fundo do LCD. O cone do componente C heckBox o seguinte. Temos que modificar as seguintes propriedades do primeiro CheckBox que for adicionado. Name = CheckBoxLuzFundo Caption = Luz de Fundo Font/Style/fsBold = true E as seguintes propriedades do segundo CheckBox. Name = CheckBoxCursor Caption = Cursor Font/Style/fsBold = true Dessa forma teremos a seguinte interface grfica at o momento.

4 Figura 6: Aparncia do Form aps a incluso dos controles para o controle da linha e coluna do cursor no displays de cristal lquido. Figura 7: cone do componente CheckBox. Agora temos que adicionar mais um Label e um Edit. O cone do componente Edit o seguinte. Assim que adicionarmos esses componente temos que modificar as seguintes propriedades do componente Label. Name = LabelTexto Caption = Texto: Font/Style/fsBold = true E as seguintes propriedades do componente Edit. Name = EditTexto Text = (deixar em branco) Com isso teremos a seguinte interface grfica. 5 Figura 8: Interface grfica aps a adio de dois CheckBox. Figura 9: cone do componente Edit. Figura 10: Interface grfica aps adio de um Label e um Edit. Por fim vamos adicionar dois componentes Button. Um para enviar o texto do Edit para o display e outro para limpar o contedo do LCD. O cone do componente Button o segu inte. Temos que modificar as seguintes propriedades do primeiro Button. Name = ButtonEnviar Caption = Enviar Font/Style/fsBold = true E as seguintes do segundo. Name = ButtonLimpar Caption = Limpar Font/Style/fsBold = true Com isso finalizamos a construo de nossa interface grfica. Ela ter a seguinte aparncia. Agora vamos implementar o cdigo que ir controlar o LCD. A primeira funcionalidade que vamos implementar o envio de textos para o display. Para isso precisamos cri ar um manipulador para o evento OnClick do boto Enviar. Para fazer isso podemos seleciona r o componente Button com o texto Enviar, ir no Object Inspector, selecionar a aba Eve nts e dar um duplo clique sobre a linha que est escrito OnClick. Uma forma mais fcil de fazer i sso apenas dar um duplo clique sobre o boto no Form e com isso o Delphi ir criar automaticamente um manipulador para o evento OnClick. O seguinte cdigo ser criado. 6 Figura 11: cone do componente Button. Figura 12: Aparncia final da interface grfica. Procedure TFormMain.ButtonEnviarClick(Sender: TObject); begin end; Dentro desse manipulador vamos implementar o cdigo que enviar o texto ao LCD. Para isso utilizaremos o mtodo LCDWriteText. A seguir a declarao desse mtodo. Procedure LCDWriteText(txt : String); Esse mtodo possui um parmetro que a String de texto que ser escrita no display na posio atual do cursor. O cdigo do manipulador do evento OnClick do boto Enviar ficar

seguinte maneira. Procedure TFormMain.ButtonEnviarClick(Sender: TObject); begin // Envia texto ao LCD kit.LCDWriteText(EditTexto.Text); end; Como podemos ver, passamos diretamente a propriedade Text do Edit como parmetro do mtodo LCDWriteText e dessa forma o texto do Edit enviado ao display de cristal lquido. Nesse momento j podemos testar o programa. Para isso, vamos no menu Run Run ou pressionamos F9. Se no houver nenhum erro o programa ser compilado e executado. Co m um Kit conectado em alguma porta serial podemos testar se o programa est funcionando. Es creva algum texto no edit e pressione o boto Enviar. O texto escrito no Edit dever ser apresenta do no display. 7 Vamos agora implementar o cdigo que limpa o contedo da tela do display. Para isso precisamos criar um manipulador para o evento OnClick do boto Limpar. Para fazer is so podemos selecionar o componente Button com o texto Limpar, ir no Object Inspector, selecionar a aba Events e dar um duplo clique sobre a linha que est escrito OnCli ck. Uma forma mais fcil de fazer isso apenas dar um duplo clique sobre o boto no Form e com isso o Delphi ir criar automaticamente um manipulador para o evento OnClick. O seguinte cdigo ser c riado. Procedure TFormMain.ButtonLimparClick(Sender: TObject); begin end; Dentro desse manipulador vamos implementar o cdigo que limpa o contedo do display. Utilizaremos o mtodo LCDClear. A seguir a declarao desse mtodo. Procedure LCDClear; Esse mtodo no possui parmetros nem retorno e assim que executado ir limpar todo o contedo do display de cristal lquido. O cdigo do manipulador do evento de clique do boto Limpar ficar como a seguir. Procedure TFormMain.ButtonLimparClick(Sender: 8 Figura 13: Display de Cristal Lquido apresentando texto. TObject); begin // Limpa LCD kit.LCDClear; end; Para testar essa nova funcionalidade implementada, compile e execute o programa como foi explicado anteriormente, envie algum texto ao display e em seguida pressione o boto Limpar. O texto presente no display dever ser apagado. Vamos agora implementar o cdigo para o controle da posio do cursor do display. Esse controle feito atravs de dois ComboBox. Temos que criar manipuladores para o s eventos de mudana de valor nos dois ComboBox. A forma mais fcil de fazer isso dar um duplo cl ique sobre cada um desses componentes grficos. Vamos fazer isso passo a passo, dando u m duplo

clique sobre o ComboBox de seleo de linha ser criado o seguinte manipulador. Procedure TFormMain.ComboBoxLinhaChange(Sender: TObject); begin end; Dentro desse manipulador temos que inserir o cdigo que posiciona o cursor. Para i sso vamos fazer uso do mtodo LCDGotoXY, encontrado na biblioteca de controle do Kit. Esse mtodo possui a seguinte declarao. Procedure LCDGotoXY(lin, col : Integer); Como podemos ver, esse mtodo possui dois parmetros do tipo Integer. O primeiro indica a linha onde o cursor ser posicionado e pode variar de 0 3. O segundo indi ca a coluna onde o cursor dever ser posicionado e pode variar de 0 19. O cdigo do manipulador do evento OnChange do ComboBox de seleo de linha dever ficar da seguinte maneira. Procedure TFormMain.ComboBoxLinhaChange(Sender: TObject); begin // Posiciona cursor kit.LCDGotoXY(ComboBoxLinha.ItemIndex, ComboBoxColuna.ItemIndex); 9 end; Os itens dos dois ComboBox foram inseridos na ordem de forma que a posio deles corresponda ao valor apresentado, isto , o valor 0 est no posio 0, o valor 1 na posio 1 e assim por diante. Por isso, passamos como parmetro de linha e coluna, do mtodo LCDGotoXY , a posio do tem selecionado no ComboBox de seleo de linha e de coluna. Temos que inserir esse cdigo, sem nenhuma alterao, no manipulador de eventos do ComboBox de seleo de coluna. Dessa forma toda vez que houver uma alterao tanto na li nha quanto na coluna selecionadas, esse cdigo ser executado e a posio do cursor ser atual izada. Para criar o manipulador do evento OnChange do ComboBox de seleo de coluna damos um duplo clique sobre ele fazendo com que o seguinte cdigo seja gerado. Procedure TFormMain.ComboBoxColunaChange(Sender: TObject); begin end; Em seguida, inserimos o cdigo que vimos anteriormente para atualizar a posio do cursor toda vez que a seleo de coluna mude. O cdigo ficar assim. Procedure TFormMain.ComboBoxColunaChange(Sender: TObject); begin // Posiciona cursor kit.LCDGotoXY(ComboBoxLinha.ItemIndex, ComboBoxColuna.ItemIndex); end; Pronto, a funcionalidade de posicionamento de cursor est pronta e j pode ser testa da. Para isso compile e execute o programa, modifique a linha e coluna e envie um te xto ao display. Observe que o texto ir aparecer na posio selecionada, isto , na linha e coluna que f oram selecionadas nos ComboBox. J temos boa parte das funcionalidades do programa implementadas, faltando apenas implementar a funcionalidade dos dois CheckBox. Como acabamos de implementar o cd

igo para posicionamento do cursor, vamos implementar primeiro o cdigo do CheckBox que habi lita e desabilita a visualizao do cursor. Dessa maneira poderemos visualizar melhor o pos icionamento do cursor pois poderemos deix-lo visvel. Temos que criar um manipulador para o evento OnClick do CheckBox que controla a visualizao do cursor. Para isso damos um duplo clique sobre ele e o seguinte cdigo ser criado. 10 Procedure TFormMain.CheckBoxCursorClick(Sender: TObject); begin end; Dentro desse manipulador vamos utilizar o mtodo LCDCursorOn que permite habilitar e desabilitar a visualizao do cursor do LCD. A declarao desse mtodo a seguinte. Procedure LCDCursorOn(tf : Boolean); Esse mtodo possui um parmetro do tipo Boolean que indica se a visualizao do cursor de ser ligada ou desligada. O cdigo do manipulador do evento de clique que acabamos de criar ficar como a seguir. Procedure TFormMain.CheckBoxCursorClick(Sender: TObject); begin // Liga/Desliga cursor kit.LCDCursorOn(CheckBoxCursor.Checked); end; Nesse cdigo passamos como parmetro para o mtodo LCDCursorOn o valor da propriedade Checked do componente CheckBox que controla a visualizao do cursor. Essa propriedade um valor Boolean e se o CheckBox estiver marcado ento ela ser igual a verdadeiro, caso contrrio ela ser igual a falso. Para finalizar nossa implementao vamos criar um um manipulador para o evento OnClick do CheckBox que controla o acionamento da luz de fundo do display. Para isso damos um duplo clique sobre esse componente e o seguinte cdigo ser criado. Procedure TFormMain.CheckBoxLuzFundoClick(Sender: TObject); begin end; Utilizaremos o mtodo LCDBacklightOn para controlar o acionamento da luz de fundo do display. A declarao desse mtodo a seguinte. 11 Procedure LCDBacklightOn(tf : Boolean); Assim como o mtodo anterior, esse possui um nico parmetro do tipo Boolean que indica se a luz de fundo deve ser ligada ou desligada. O cdigo do manipulador do evento de clique sobre o CheckBox de acionamento da luz de fundo ficar assim. Procedure TFormMain.CheckBoxLuzFundoClick(Sender: TObject); begin // Liga/Desliga luz de fundo kit.LCDBacklightOn(CheckBoxLuzFundo.Checked); end; Passamos como parmetro para o mtodo LCDBacklightOn a propriedade Checked do CheckBox de controle do acionamento da luz de fundo. Essa lgica j foi utilizada no CheckBox de controle da visualizao do cursor. Com isso finalizamos a implementao de todas as funcionalidades. A aparncia final do programa ficou assim. Abaixo a imagem do LCD com visualizao do cursor acionada, luz de fundo ligada e

uma mensagem de texto Teste na linha 2 e coluna 7. 12 Figura 14: Programa finalizado. Pronto, temos um programa que controla todas as funcionalidades do display de cr istal lquido. 4 - Concluso Nesse tutorial vimos como controlar o display de cristal lquido que pode ser cone ctado tanto no Mdulo de Motores e Displays quanto no Mdulo de Entradas, Sadas e Servo Mot ores. Com o projeto que criamos foi possvel entender o funcionamento dos mtodos LCDWrite Text, LCDClear, LCDGotoXY, LCDCursorOn e LCDBacklightOn. Assim j podemos utilizar o dis play de cristal lquido em qualquer projeto. 13 Figura 15: LCD com visualizao do cursor acionada, luz de fundo ligada e uma mensagem de texto Teste na linha 2 e coluna 7.

Você também pode gostar