XPsys – Sistema para ESP32 com ST7920

Irei iniciar um projeto utilizando como base o ESP32 e também um display gráfico ST7920 de 128×64 pixels juntamente com a biblioteca u8g2, não testei outro modelo de display, caso você tenha testado e funcionou comente aqui. Anteriormente fiz uma pequena programação de menus com o ST7920, porém eu utilize o exemplo dado pela biblioteca para construir sua estrutura.

OBS: A versão 1.0.1 pode funcionar no Arduíno, basta prestar atenção nos pinos configurados.

Já este projeto se chama XPsys desenvolvido do zero, tentarei deixa a estética da interface mais bonita o possível, conforme irei lançando as versões irei adicionando mais recursos. Tambem futuramente irei tentar postar uma versão para o Arduíno. Abaixo está a galeria de imagens dos menus:

XPsys_Tela_Menu-Principal XPsys - Sistema para ESP32 com ST7920
XPsys_Tela_Teste-de-Botoes XPsys - Sistema para ESP32 com ST7920
Video de demonstração da Versão 1.0.1 Alfa
Você pode utilizar este meu projeto porém com a condição de manter os meus créditos na programação podendo adicionar o seu nome caso tenha incrementado algo, este é um projeto gratuito que demanda do meu tempo, eu ficaria muito decepcionado se eu encontrar ele em algum lugar sem ter meu nome e alterar a nome do sistema e manter a estrutura igual a minha. Este Software está sobre a licença GNU GENERAL PUBLIC LICENSE Versão 3.
Jailson Oliveira

Recursos implementados até o momento:

  • Menu com ícones gráficos
  • Teste de Botões.
  • Debounce por Software

Recursos a serem implementados (se a memória permitir):

  • Rede wi-fi
  • Teclado
  • Rede Bluetooth
  • Relógio
  • Servidor Web
  • Acesso Remoto
  • Gerador de Ondas
  • PWM ajustável
  • Programação ajustável de pinos
  • Leitor Analógico
  • Janelas Pop-Up
  • Utilização do dual-core
  • Gerador de logs
  • Leitor de cartão SD
  • Controle de RBG
  • Multi telas
  • Leitor para bateria
  • Modo de economia de energia
  • Modo de hibernar
  • Desbloqueio do sistema por senha
  • Temporizador de GPIO
  • Analisador de frequência.
  • Aplicativo para Android
  • Sistema de som/bip
  • Versão para Arduíno (Nano, UNO ou Mega)

Todos estes itens citados acima tentarei implementar no sistema, porém irá depende do quanto cada recurso irá consumir da memória RAM e da flash (programação). Caso não seja possível implementar irei riscar da lista e também caso encontre mais algum recurso irei adicionando.

Conforme irei lançando as versões em forma de artigos, irei listadas aqui abaixo:

Uma informação em vez de usar os próprios botões da biblioteca u8g2, utilizei uma porta analógica para os botões, economizando 5 pinos do ESP32, para dividir os botões utilizei resistores como configuração de divisor de tensão, sendo possível adicionar muitos resistores, o ruim desta técnica é que quanto mais botões a leitura fica mais sensível a variações de tensão, montei um tabela utilizando a tela de leitura de “Leitura de pino dos botões”, com a tensão máxima estável de 3,30 V:

BotãoResistor (10k Vcc)Leitura ADC
(Max 4095)
Tensão
Esquerdo1 kΩ1600,13 V
Acima4,7 kΩ10400,84 V
Abaixo8,2 kΩ15981,29 V
Direito15 kΩ21101,70 V
Selecionar33 kΩ27432,21 V
Voltar47 kΩ30112,43 V
Botões_XPboard-1024x856 XPsys - Sistema para ESP32 com ST7920
Configuração dos botões

Todas para a compilação estou usando o Visual Studio Code v1.34 junto com o PlatformIO 3.6.7 para desenvolver o sistema, com a biblioteca u8g2 versão 2.26.11, baixado diretamente do próprio Visual Studio Code.

Irei utilizar vários tipos de fontes que estão disponíveis na biblioteca do u8g2, e que estão listadas abaixo:

u8g2_font_5x7_tf XPsys - Sistema para ESP32 com ST7920
fonte u8g2_font_5x7_tf
u8g2_font_open_iconic_all_1x_t XPsys - Sistema para ESP32 com ST7920
fonte u8g2_font_open_iconic_all_1x_t

Para os ícones do menu principal utilizei esta fonte:

u8g2_font_open_iconic_all_2x_t XPsys - Sistema para ESP32 com ST7920
fonte u8g2_font_open_iconic_all_2x_t

Para desenvolver este projeto encomendei a fabricação de uma placa que eu mesmo projetei para utilizar com o Doit ESP32 DevKit v1.

XPboard placa para o XPsys

A XPboard é uma placa para o XPsys, utilizando a interface gráfica do ST7920.

Capa_XPboard_Hardw XPsys - Sistema para ESP32 com ST7920

Acima estou disponibilizando os arquivos Gerber do projeto para quem quiser encomendar no site da jlcpcb ou outro site qualquer. Lembrando que deve manter os créditos do projeto.

Código

O código estou disponibilizando tanto aqui no portal quanto no GitHub, basta acessar, os detalhes sobre cada versão está na página aqui no portal de cada uma vers]ao lançada, veja abaixo:

XPsys

GitHub

Acesse a página do XPsys no GitHub
Clicando do botão abaixo:

CC_4_88x31 XPsys - Sistema para ESP32 com ST7920
Licença CC 4.0

Creative Commons

O trabalho “XPsys – Sistema para ESP32 com ST7920” de JailsonBR está licenciado com uma Licença Creative Commons Atribuição 4.0 Internacional.