Relatório de Estudo Display Nextion e Microcontrolador ESP32
Por: Eduardo igor • 2/12/2022 • Trabalho acadêmico • 1.526 Palavras (7 Páginas) • 148 Visualizações
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.
...