XPsys – Sistema para ESP32 com ST7920

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:

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
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:

fonte u8g2_font_5x7_tf
fonte u8g2_font_open_iconic_all_1x_t

Para os ícones do menu principal utilizei esta fonte:

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.

XPboard placa para o XPsys

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:

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.

Jailson Oliveira

Sou Engenheiro Eletricista com Enfase em Eletrônica e Técnico em Eletrônica, gosto de estar praticando montagens de circuitos e também programar sistemas embarcados. Acredito que compartilhar informações gratuita gera mais informações novas por parte de outras pessoas.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

5 + 5 =