Skip to content

FrankSteps/apple-juice-learning-board-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apple Juice learning board simulator

Placa Apple Juice

O simulador com interface gráfica da placa de aprendizagem Apple Juice foi desenvolvido para o laboratório da FnEsc, no Departamento de Física da UFS. O sistema foi implementado, principalmente, utilizando o paradigma de programação orientada a objetos, com algumas funcionalidades de caráter procedural.

A Apple Juice é uma placa de aprendizagem voltada ao estudo de circuitos digitais construídos com circuitos integrados discretos, como o CD4017, NE555 e CD4026. O sistema oferece suporte à entrada de clock externo, permitindo incrementar a contagem na parte do circuito responsável pela decodificação binária para decimal (a seção que utiliza o CD4026). Além disso, possui um botão de reset para os circuitos CD4017 e um switch para alternar entre o clock externo e o clock interno gerado pelo 555 configurado em modo astável.

Leia sobre os componentes que estão presentes no projeto clicando aqui.

O objetivo deste projeto foi aplicar os conceitos de programação orientada a objetos apresentados em sala de aula na disciplina de POO, sob orientação do professor Carlos Estombelo. Conceitos como tratamento de exceções com try e catch, encapsulamento, herança e polimorfismo foram utilizados ao longo do desenvolvimento do sistema.

Interface gráfica do Apple Juice

Assista ao vídeo de apresentação do projeto

Clique na imagem para assistir ao vídeo no YouTube

Funcionalidades

  • Simulação do CI NE555 em modo astável
  • Simulação do CD4017 (contador Johnson)
  • Decodificação com CD4026
  • Interface gráfica utilizando raylib

Estrutura do projeto

Apple-juice-learning-board-simulator/
├── docs/                           # Documentação escrita em LaTeX
│   ├── appleJuice.pdf
│   └── appleJuice.tex
├── images/                         # Imagens do README e do projeto
│   ├── apple-juice-simulator.png
│   └── apple-juice.png
├── materials/                      # Materiais complementares (antes "paraDisciplina")
│   ├── orientacao.pdf
│   └── roteiro.pdf
├── tests/                          # Testes unitários e experimentais
│   ├── test_4026.cpp
│   ├── test_clockGenerator.cpp
│   ├── test_arthur.cpp
│   ├── test_appleJuice.cpp
│   ├── test_renato.cpp
│   └── test_misc.cpp
├── src/                            # Código-fonte
│   └── apple-juice.cpp
├── CONTRIBUTING.md
├── LICENSE
├── Makefile
├── README.md
└── shell.nix

Pré-requisitos

  • g++ (com suporte a C++17)
  • cmake
  • raylib
  • pkg-config

NixOS: use nix-shell antes de compilar. O arquivo shell.nix já está incluso no repositório.

Como compilar e rodar

# clone o repositório
git clone https://github.com/FrankSteps/Apple-juice-learning-board-simulator
cd Apple-juice-learning-board-simulator

# compile o simulador
make

# compile e rode o simulador
make run

# compile e rode os testes unitários
make test

# remova os binários gerados
make clean

Compatibilidade

Este projeto é compatível com Linux, Windows e macOS.

Licença

Este projeto está licenciado sob a GNU GPLv3. Veja o arquivo LICENSE para mais detalhes.

Colaboradores


@franksteps

@4rth-gs

@RenatoVPF

@Cadu-ux

About

Simulador da placa de aprendizagem Apple Juice para estudo de circuitos digitais com CD4017, NE555 e CD4026, suportando clock externo, reset de contadores e alternância entre clock interno e externo. Desenvolvido para a FnEsc

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors