TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Relatório de Estudo Display Nextion e Microcontrolador ESP32

Por:   •  2/12/2022  •  Trabalho acadêmico  •  1.526 Palavras (7 Páginas)  •  93 Visualizações

Página 1 de 7

Relatório

Setor: Eletrônica

Data de entrega: 21/07/2022

Responsável: Eduardo Igor Santos Silveira

Atividade:

Relatório de estudo  do display NEXTION e do microcontrolador ESP 32, como funciona, como criar a interface, como criar o código para a programação.

Oque são

O ESP32  é um microcontrolador de baixa potência e baixo custo.

Ele vem com Bluetooth e Wi-Fi já integrados, destina-se especialmente a fornecer versatilidade, robustez e confiabilidade em um grande número de aplicações.

 Dispõe de um módulo com chip integrado com capacidade de executar seus aplicativos em tempo real.

Nextion é uma solução de Interface Homem-Máquina (IHM) que combina um processador integrado e uma tela de toque de memória com o software Nextion Editor para o desenvolvimento de projetos de GUI IHM(NX4827K043, 2022).

O display Nextion é um display com processador e memória integrados, que pode ser programado separadamente do sistema de controle através do software livre Nextion Editor e sua comunicação com sistema de controle pode ocorrer através de uma simples comunicação à dois fios TX – RX.

Display NEXTION

Existem algumas versões diferentes deste componente estão para base a versão 2.4 do mesmo.

O display NEXTION 2.4, tem uma resolução de 320×240 pixels, e dispõe de uma memória interna de 4MB, ou seja, já vem com uma memória embutida  nele por padrão para executar tarefas de amostragem de imagens.

O display tem um conector de 4 fios com conexões para a comunicação UART/Serial e alimentação 5VDC .

Interface

O Nextion é programado de forma separada utilizando uma IDE própria que é disponibilizada pelo próprio fabricante (Nextion Editor), onde lá é possível desenhar o layout com botões, textos, barras de progresso e entre outras funcionalidades, em seguida é feita a interface com o microcontrolador para que eles realizem a devida comunicação.

A transferência do programa do display pode ser feita de 2 maneiras: utilizando um conversor USB-Serial como a placa FTDI 232RL, ou você cria o programa no Nextion Editor, copia o arquivo TFT do projeto para um arquivo micro SD e coloca o cartão no slot para que o display seja atualizado.

[pic 1]

Fonte: Arduino e Cia

Na imagem acima podemos ver de forma geral a interface do Nextion editor, que dispões de diversas ferramentas para se criar uma interface, também tem um destaque a aba de caixa de ferramentas e atributos de cada coisa que for adicionada no editor.

Após feito toda essa etapa é necessário transferir o que foi feito então o programa do display via conversor serial ou cartão micro SD para que ele já fique gravado na memória de vídeo.

Conexão

O Display NEXTION pode ser conectado tanto no Arduino Mega quanto no Uno, no entanto  dependendo da versão do Arduino pode precisar de configurações a mais, no caso da versão abaixo foi apresentado um exemplo no Arduino Mega.

[pic 2]Fonte: Arduino e Cia

Na imagem acima é feita a conexão do  TX do display no pino 17 (RX2) do Arduino Mega, e o pino RX do display no pino 16 (TX2), e uma  fonte externa de 5VDC e pelo menos 500mA.

Programação

[pic 3]

Fonte: Arduino e Cia

[pic 4]

Fonte: Arduino e Cia

O programa acima foi feito no intuito de exemplificar como é feita a comunicação do display NEXTION com o Arduino, antes de mais nada é necessário salientar que é preciso inicialmente baixar e deixar pronta para uso a biblioteca da Itead, por conta do programa a utilizar para funcionar corretamente.

Comandos para controle do display Nextion

Refresh

  • page 0 // atualiza a página 0
  • page main // atualiza a página principal

Refresh de um widget

  • ref t0 //refresh do widget de texto 0

Evento de “click” de um widget

  • click b0, 1 //envia o sinal de "pressionado" para o botão 0
  • click b0, 0 // Envia o evento de "liberado" para o botão 0

Congelar a atualização de tela

  • ref_stop //adeus, atualização de tela

Retomar a atualização de tela

  • ref_star //tudo volta ao padrão

Pegar o valor de um widget

  • get t0.txt //pega o valor do label t0 na interface
  • get j0.val //pega o valor do slider j0
  • get "17"   //retorna a string do número do Presidente Bolsonaro
  • get 17     //retorna o número literal

Pegar o ID da página corrente pela UART

  • sendme //envia o número da página pela UART

Converter um valor numérico para texto a ser inserido em um label

  • cov h0.val,t0.txt,0 //converte o valor do slider h0
  • em string e o atribui ao label t0, com comprimento automático

Subtring

  • substr t0.txt,t1.txt,0,2 // label t0 é a origem
  •                          // label t1 é o destino
  •                          // byte inicial
  •                          // byte tamanho

Exibir ou esconder um widget na página

  • vis b0,0 //esconde o botão b0
  • vis b0,1 //exibe o botão b0

Desabilitar ou habilitar o touchcreen

  • tsw b0,0 //desabilita o toque para o botão 0
  • tsw b0,1 //habilita novamente o toque para o botão 0

Gerar um valor randômico

  • randset 1,1000 // retorna um valor entre 1 e 1000

Limpar os comandos armazenados no buffer

  • Code_c

Enviar dados em hexa

  • printh d0 a0 //o dispositivo envia 0xd0 e 0xa0

Passar um volume de dados ao widget Waveform

  • addt 1, 0, 100

Limpar os dados do widget waveform

  • cle 1, 0   // limpa os dados do componente cujo ID é 1 e canal 0.
  • cle 1, 255 // limpa todos os dados do componente cujo ID é 1.

Reset do Nextion

  • rest

Forçar atualizações imediata da tela

  • doevents
  • while(n0.val<1024)
  • {
  • n0.val++
  • doevents    //a tela ficará atualizando durante o loop
  • }

Comprimento de uma string

  • strlen t0.txt, n0.val // atribui o comprimento de t0.txt a n0.val

IF e Else

  • if (t0.txt=="textoOu1234")
  • {
  • Page 1 //troca de página
  • }
  • //Ou
  • if (b0.txt=="Start")
  • {
  •     b0.txt=="Stop"
  • } else
  • {
  •     b0.txt="Start"
  • }

While

  • //loop comum
  • while(n0.val<100)
  • {
  • n0.val++
  • }
  • //loop atualizando a tela a cada interação
  • while(n0.val<100)
  • {
  • n0.val++
  • doevents
  • }

For

  • for(n0.val=0; n0.val<100; n0.val++)
  • {
  • }
  • for(n0.val=0; n0.val<100; n0.val++)
  • {
  • doevents  
  • }

ESP 32

Na pinagem de um ESP32, podemos encontrar 34 portas GPIO, 3 SPI, 2 I2S, 18 canais ADC, 3 UART, 10 pinos de leitura capacitiva e PWM.

...

Baixar como (para membros premium)  txt (9.9 Kb)   pdf (1.2 Mb)   docx (1.1 Mb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com