Majority vote project
Project Overview
The purpose of this project was to create a more efficient and accurate way to make a decision based on the votes of a company's President, Vice President, Secretary, and Treasurer. In this project, in order for a decision to pass, the majority of the board members have to vote yes. However, if there is a tie, the president's vote is the tie-breaker, meaning that whichever way the president voted was the overall decision. The only ICs available to us were two-input AND, OR, and Inverter logic gates. This report will detail the steps I took to create this voting machine.
Problem Conception
The purpose of the truth table is to determine the logic expression that will be used to create the unsimplified logic expression detailing what inputs(votes) are necessary for the decision to pass. The relationship between the number of outputs and the number of rows in the logic table is 2^x, x= the number of inputs. In this table there were 4 inputs, so the truth table had 16 rows, because 2^4 = 16. This table shows that when there is a tie, the decision will only pass when the president says "yes". This can be observed by noting the decision (0=fail and 1=pass) and who voted yes(1) and no(0) in the tie. If the president and another member vote yes, the decision will always pass.
Based on this truth table I came up with the following un-simplified expression:
This expression is in Sum of Products(SOP) form. I found the minterms from the input combinations that would yield a passing decision. I chose SOP form because it the easier form for me to think in and is the form that you can take directly from the truth table.
Un-SIMPLIFIED Circuit
The un-simplified circuit above requires 4 inverter gates, 24 AND gates, and 7 OR gates. Since there are 4 gates per AND and OR chip and 6 gates per inverter chip, if one was to breadboard the un-simplified expression, they would need 1 inverter chip(74LS04), 6 AND chips(74LS08) and 2 OR chips(74LS32). This un-simplified expression would not only be extremely difficult and time consuming to breadboard, but it would also be expensive and inefficient to run.
Boolean ALgebra Simplification
The un-simplified expression and circuit would be neither time nor cost efficient. A simplified, cost and time efficient circuit and expression can be found by using Boolean Algebra. The simplified version of the logic expression is: VST+PV+PS+PT
Here is the Boolean Algebra I used to simplify the logic expression:
Simplified circuit
In the simplified version of the circuit, no inverter gates are required, and only 5 AND gates and 3 OR gates are needed. Because 4 gates are in each AND and OR chip, only 2 AND chips(74LS08) and 1 OR chip(74LS32) are necessary.
This simplified circuit is absolutely justifiable. It is not only easier and less time consuming to build, but will ultimately be cheaper and quicker to run. The simplified circuit uses only 8 gates-and therefore 3 ICs- compared to 35 gates- 9 ICs- in the un-simplified circuit. That is 6 fewer chips in the simplified circuit. If this circuit was manufactured on a large scale, the simplified circuit could save hundreds of thousands of dollars. The simplified circuit would also run much faster because fewer chips mean fewer time delays.
This simplified circuit is absolutely justifiable. It is not only easier and less time consuming to build, but will ultimately be cheaper and quicker to run. The simplified circuit uses only 8 gates-and therefore 3 ICs- compared to 35 gates- 9 ICs- in the un-simplified circuit. That is 6 fewer chips in the simplified circuit. If this circuit was manufactured on a large scale, the simplified circuit could save hundreds of thousands of dollars. The simplified circuit would also run much faster because fewer chips mean fewer time delays.
Bill of Materials
This is a list of the components that are required to breadboard the simplified circuit. However, I must note, this is not the complete list of materials that I used because when I was breadboarding, I did so based on a un-simplified logic expression. This table reflects what components I would have used if I had breadboarded based on a completely simplified circuit.
bread-boarding
In the three pictures above, you can see my breadboard setup. However, this breadboard reflects an un-simplified circuit and is more complicated than it needed to be. In this circuit, I used an inverter gate that would not have been needed in the simplified version. In the pictures you can see that all the ICs are connected to power and ground, as necessary, and one can (try to) follow the wires through the circuit.
My first breadboarding experience went pretty well, besides the fact that the expression I used to breadboard was not completely simplified. It was a frustrating experience only because of the complexity of the circuit. My breadboard worked the second time I tested it, and the only trouble shooting I had to do was push a IC further into the breadboard. After I did that, the circuit worked perfectly. I have definitely learned some organizational skills because trouble shooting with messy wires is a very difficult task. I also learned to check all of my simplification work before I begin to breadboard, because it would have been much easier to breadboard a completely simplified circuit.
My first breadboarding experience went pretty well, besides the fact that the expression I used to breadboard was not completely simplified. It was a frustrating experience only because of the complexity of the circuit. My breadboard worked the second time I tested it, and the only trouble shooting I had to do was push a IC further into the breadboard. After I did that, the circuit worked perfectly. I have definitely learned some organizational skills because trouble shooting with messy wires is a very difficult task. I also learned to check all of my simplification work before I begin to breadboard, because it would have been much easier to breadboard a completely simplified circuit.
conclusions
The most important takeaway of this project is the importance of using simplified logic expressions when building circuits. This project shows how much easier, cheaper, and more time effective it is to use simplified circuits. The entire engineering process for this project plainly demonstrated this fact. We first found the truth table based on the given constraints. This truth table yielded a lengthy logic expression. When I built a circuit on MultiSim based on this logic expression, I found that it was very complex and inefficient. And although using Boolean Algebra was a rather tedious process, it ultimately yielded an expression that was much easier to work with. The circuits that I built both on MultiSim and on a breadboard based on the simplified logic expression were cost and time effective, and not to mention much easier to build. Boolean Algebra is useful in the fact that it can simplify a complicated, unfriendly expression into a simple, easy to understand expression. Another important takeaway is that organization and consistency are key when building circuits. Messy breadboards can be very difficult to troubleshoot when things go wrong and it is helpful to wire circuits in the same order each time so that one does not lose track of what is left to wire. These are very important factors when producing circuits on a large scale, and this project provided me with several valuable lessons.