Davi Grumiche Seemann
Miguel Boing

Desenvolvimento de um simulador de circuitos lógicos .

Desafio dos Calouros - 20.1

Simulador de circuito lógicos, voltado para alunos iniciantes em eletrônica digital.

Todo o código e partes gráficas foram planejados e desenvolvidas pelos membros do projeto.

Os membros se aprofundaram na linguagem Python e Kivy para o desenvolvimento do projeto e foi utilizado o software de versionamento Git com Github.

Foram utilizadas diversas ferramentas e plataformas como o Illustrator, VSCode, Git e GitHub..

Os membros puderam trabalhar em equipe e se inteirar das metodologias internas do grupo, como OKR e Scrum.

Propósito & Simulador

Uma das grandes divisões da eletrônica é a eletrônica digital, nessa área se estuda os circuitos digitais utilizando álgebra booleana para representação de circuitos combinacionais digitais. O simuGATE veio como uma ideia de trazer a teoria para prática de uma forma simples e fácil possibilitando que o usuário possa testar as saídas e entradas dos circuitos aprendidos em aula de uma maneira mais visual e intuitiva, visando a interatividade e facilidade na utilização.

O processo de desenvolvimento

 Como todo o projeto, o primeiro passo foi a realização do planejamento, de quais eram as metas e objetivos com o projeto. Com isso, foi possível traçar uma estratégia para a execução, baseado em algumas metodologias de gestão de projetos, foi pensada uma linha de processo, que foi seguida até a conclusão. Foram definidos os grandes blocos, dentro deles foram criadas tarefas a fim de dar ritmo de desenvolvimento aos membros. 

 

Abaixo é possível ver o planejamento em blocos: 

 

Fases do desenvolvimento

Na primeira fase o foco foi no desenvolvimento pessoal, a fim de criar uma base sólida de conhecimentos necessários, em paralelo, open source na lógica usada de programação das portas e componentes.

Na segunda fase, foi desenvolvido um esqueleto da interface gráfica junto com seu design, também foi desenvolvido um esboço das portas lógicas de maneira a facilitar a programação e testes.

Na terceira fase, foi implementado o “fio”de ligação entre as portas, junto com a implementação gráfica das portas, inputs e outputs com imagens dinâmicas, além dos desenhos de cada porta.

Por fim, foi criado um arquivo executável do software para que possa ser utilizado com instalação mais simples.

Para o desenvolvimento, foram utilizadas as seguintes ferramentas, Git e Github, para o versionamento de software de forma a facilitar o trabalho em grupo. Também utilizamos a versão 3.8.3 do Python, a versão 1.11.1 de Kivy e a versão 4.1 da biblioteca de Python pyinstaller para a criação de um arquivo executável em python.

Diagrama de Elementos

Resultados

Visando uma melhor compreensão do projeto realizado e maior acessibilidade aos estudantes criamos em nosso Github, o detalhamento completo de como obter acesso ao código, a biblioteca Kivy e ao arquivo executável. Além disso, criamos uma página “About the project” dentro do simulador onde estão contidas informações específicas de cada versão do software, explicações sobre o projeto é um simples tutorial de utilização da ferramenta. Na finalização de nossa pesquisa, desenvolvemos o simuGATE, capaz de simular as portas OR, AND, NOT, NAND, NOR, XOR, dando uma resposta imediata das combinações do circuito através das saídas OUTPUTs.  

Confira como ficou o projeto!

Para acessar o código do software acesse: 
Para baixar o simulador:
Progresso
100%
slotonline