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.
Clique na imagem para assistir ao vídeo no YouTube
- Simulação do CI NE555 em modo astável
- Simulação do CD4017 (contador Johnson)
- Decodificação com CD4026
- Interface gráfica utilizando raylib
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
- g++ (com suporte a C++17)
- cmake
- raylib
- pkg-config
NixOS: use
nix-shellantes de compilar. O arquivoshell.nixjá está incluso no repositório.
# 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 cleanEste projeto é compatível com Linux, Windows e macOS.
Este projeto está licenciado sob a GNU GPLv3. Veja o arquivo LICENSE para mais detalhes.
@franksteps |
@4rth-gs |
@RenatoVPF |
@Cadu-ux |
|---|
