Embedded

Comunicação serial com Nextion sem biblioteca

O display Nextion é sem dúvida o melhor display que você encontrará para qualquer projeto, é incontestável. Mas sua vantagem sobre todos os demais é principalmente pelo fato de ele possuir um processador ARM para gerenciá-lo, além de uma IDE que lhe permite desenvolver uma interface em 5 minutos com botões, animações, sliders e tudo o mais. Nesse artigo veremos uma comunicação serial com Nextion sem biblioteca, utilizando um adaptador FTDI e mandando comandos diretamente do computador.

Comunicação serial com Nextion

Talvez você se pergunte por qual razão alguém utilizaria comunicação serial com Nextion sem  biblioteca (fornecida pela Itead), mas a resposta é simples; desse modo não ficamos presos a nenhuma plataforma. Quer utilizar com ESP32? Ok, feito. Com ESP8266? Sem problemas. Você pode utilizá-o em qualquer plataforma, como Onion Omega, VoCore, Arduino Industrial, Carambola, Raspberry, Orange, Banana, PIC, Digispark, Notebook/PC (com o auxílio de um adaptador FTDI) ou qualquer outra que ofereça a possibilidade de comunicação serial. Para esse singelo exemplo, vamos fazer um progress bar interagindo com o notebook pra facilitar e agilizar o tutorial, mas pode ser utilizado com qualquer Arduino, inclusive o UNO, bastando fazer os testes prévios e posteriormente utilizando alimentação externa e a serial nos pinos 0 e 1 para comunicação com o display.

Projetando a interface para o display

Criei algumas imagens simples com o Gimp. Um background e 2 imagens para o progress bar. Uma das imagens será o background do widget Progressbar, enquanto o outro será a evolução do valor. As imagens não são exatamente uma obra de arte, mas pelo menos não gastei mais que 2 minutos para fazê-las.

Comunicação serial com Nextion

Comunicação serial com Nextion Comunicação serial com Nextion

Tem como fazer crop do background e eliminar a barra azul, caso você queira deixar transparente, mas eu preferi assim mesmo. As dimensões são 400×240 e as imagens da barra de progresso eu fiz no tamanho de 400×70. Depois, importei as imagens na IDE, coloquei o background, incluí um widget Progressbar e modifiquei os atributos para imagem de backgound e imagem de sobreposição. Interface pronta!

Código para comunicação com display

Fiz um código básico em python, que permite interação por shell. No video eu mostro o processo da criação da interface para o display e o funcionamento do progressbar.

Desculpe, fiz o código para utilizar no Linux, que é meu sistema nativo. Mas repare que não tem nada de especial no código, podemos utilizar qualquer programa serial e mandar manualmente os mesmos comandos que estão em nx.write.

Executando

Após ter subido o firmware para o display, podemos testar facilmente o código através do shell, fazendo um loop:

No video (que deverá estar publicado algumas horas após esse artigo mostro a utilização do Gimp para produzir as imagens, a criação do projeto no Nextion Editor e a utilização do script, com o display à frente do monitor do notebook. Dê uma olhada lá no nosso canal DobitAoByteBrasil no Youtube e, não deixe de se inscrever e clicar no sininho pra motivar a criação de mais conteúdo.

Onde adquirir

Essa belezinha está disponível no parceiro MASUGUX, aproveite que estamos no começo dos tutoriais e vamos tocando juntos os projetos!

Versão 3.2″

Versão 4.3″

Não perca o próximo tutorial, já teremos video e brincadeiras!

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR

https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR

https://www.facebook.com/groups/raspberrybr/
Orange Pi BR

https://www.facebook.com/groups/OrangePiBR/
Odroid BR

https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR

https://www.facebook.com/groups/SistemasEmbarcadosBR/

Sistemas Eletrônicos

https://www.facebook.com/groups/544679592355388/

Projetos Arduino | Eletrônica

https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 e ESP32

https://www.facebook.com/groups/ESP8266BR/

ARM Brasil

https://www.facebook.com/groups/508153815944410/

MIPS BR

https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte

https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!