CASEMOD em PC

14 de dezembro de 2020 Off Por Marcelo Martins

A algum tempo eu montei um projeto chamado displaypc, que nada mais é um casemod para desktop.

Segue foto do Nextion montado.

Nextion montado

Neste casemod, eu incluo uma tela touch screen, que entre outras coisas permite a integração com uma tela nextion.

Tela Lcd Ihm Nextion 3.2  Tft 400x240 Touch Serial Arduino
Tela Nextion

Nele eu usava um nextion de 3.2 polegadas, ligado diretamente ao meu PC, onde montei um casemod para meu workstation.

O Projeto é constituído de 3 etapas:

Impressão 3D

Segue o link da caixa plástica para impressão:

https://grabcad.com/library/5-inch-pc-cabinet-slap-w-nextion-display-1

Nela imprimimos um suporte, que será colocado no lugar das baias de 5 polegadas. No caso ocupará duas das baias de 5 polegadas.

Eletrônica

Por fim usaremos um eletrônica especifica para fixar os dispositivos.

Primeiramente, usaremos uma placa PCI USB, como essa.

Placa Pci Via Com 5 Portas Usb 2.0 Dp-52m

Placa Pci Via Com 5 Portas Usb 2.0 Dp-52m

Percebam que existem 4 slots usb para fora da maquina, e um para dentro.

Conectaremos neste interno um USB TTL, conforme figura abaixo:

Adaptador Usb Ttl Serial Pl2303 5v Rs232 P/ Arduino

Adaptador Usb Ttl Serial Pl2303 5v Rs232 P/ Arduino

Faremos a ligação, conectando o TX do USB no RX do Nextion, e o RX do USB no TX do Nextion.

As conexões de alimentação, ficam assim:

O GND <-> GND e 5V <-> 5V (USB <-> Nextion);

Pronto, finalizamos toda a ligação elétrica.

Software

Muitos não acreditam, mas o software é sempre a parte mais dificil do projeto. Inclusive esta não terminado.

O protocolo do Nextion pode ser visto a partir deste link:


Depois de bater bastante cabeça eu comecei a entender o projeto.

Primeiro montei um projeto simples, que chamei de displaypc.HMI.

O projeto com extensão HMI, é o padrão do software do nextion, que desenhamos as telas;

A montagem da tela. é muito semelhante as que os programadores usam no Delphi, Visual Studio ou Android Studio.

Então se você usa qualquer uma destas RADS não terá problema em desenvolver neste editor.

Voce pode baixar o Nextion Editor neste link:

O projeto do displaypc.HMI, pode ser baixado no meu git:

https://github.com/MarceloMaurin/relogio.git

O Projeto do Relógio contem vários módulos, mas vc pode baixar os códigos do HMI, dentro da pasta Nextion

Exemplo de Código em Lazarus

Montei um pequeno exemplo em Lazarus que interage com o projeto do displaypc.HMI

Neste tópico vou falar um pouco sobre o programa que montei para testar.

O projeto esta dentro da pasta teste do git.

relogio\teste\lazarus

E pode ser chamado pelo Lazarus 2.0, conforme figura abaixo:

Neste pequeno exemplo faço a integração com lazarus do display Nextion, apresentando como o protocolo do mesmo funciona.

No fragmento abaixo, chamo a page com indice 1.

LazSerial1.WriteData(‘page 1’+#255+#255+#255);

Podemos perceber, que ao final, sempre será necessário incluir o FF FF FF, pois é padrão do protocolo.

Neste pequeno exemplo, fazemos a barra de progresso, sair de 0 ate 100%

procedure TForm1.Button5Click(Sender: TObject);
var
a : integer;
begin
for a:= 0 to 100 do
begin
LazSerial1.WriteData(‘val02.val=’+inttostr(a)+#255+#255+#255);
LazSerial1.WriteData(‘prog02.val=’+inttostr(a)+#255+#255+#255);
sleep(100);
end;
end;

Abaixo, vemos a tela, de status, onde aparece os componentes prog02 e val02.

Em breve falarei mais sobre o casemod, apresentando o exemplo do fonte.

Vida longa e prospera!