-
Notifications
You must be signed in to change notification settings - Fork 1
Guptacos/tartanhacks2018
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# tartanhacks2018 Repository for our 2018 TartanHacks project This project was created by: Niko Gupta nikolasg@andrew.cmu.edu Logan Kojiro lkojiro@andrew.cmu.edu Joel Miller jgmiller@andrew.cmu.edu Haiwen Liu haiwenl@andrew.cmu.edu The goal of this project is primarily eduational. We hope that our project can be used to help teach students (of any age and level of expertise) more about digital circuits. The main file that you run is GUI.py. When run, it outputs an interface that the user can interact with. The provided buttons are "live mode", "about", and "exit". Exit and about are self explanatory. Live mode opens an interactive game mode where the user can build circuits and run analysis on them. The system requires that a webcam is plugged in and pointed at the circuit. In the live mode, the user can choose to "analyze circuit", which will convert the circuit they've built into an equation. It will also compute the logically simplified equation, and output both circuits and equations on the screen. In addition, there are buttons that allow the user to test inputs and see the outputs of their circuit. They can also choose to re-analyze the board, which will reload the page with updated information. The other files are as follows: digital_circuit.py (Joel Miller) Class definitions for circuit data structures gates.py (Joel Miller) Gate class declarations imagesHandler.py (Logan Kojiro) Takes an image of the board, breaks it up, and then determines which of the pictures contains an element. It then passes those images to image_recognition.py for analysis. image_recognition.py (Haiwen Liu) Given a directory of images, uses Microsoft's Azure Custom Vision to classify each image as a gate, input, or None type, and returns a 2d list of the board. make_circuit.py (Niko Gupta) Given a 2d list representing a board, it recursively generates a circuit object. In the initialization of this object, the QM algorithm below is called and the output equation is stored in the circuit object. ourQM.py (Niko Gupta) A file to interface between our representation of circuits and the given representation in the QM library. qm_files (Robert Dick) A QM algorithm taken from Robert Dick of University of Michigan. See README.txt and license within this folder for further information. equation_parse.py (Logan Kojiro) Given a boolean expression, and input values, evaluates the truth value of the expression. Uses this to create a truth table for an arbitrary boolean expression.
About
Repository for our 2018 TartanHacks project
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published