* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Logic Design Board
Printed circuit board wikipedia , lookup
Current source wikipedia , lookup
Variable-frequency drive wikipedia , lookup
Ground (electricity) wikipedia , lookup
Three-phase electric power wikipedia , lookup
Power engineering wikipedia , lookup
Resistive opto-isolator wikipedia , lookup
History of electric power transmission wikipedia , lookup
Electrical substation wikipedia , lookup
Pulse-width modulation wikipedia , lookup
Power inverter wikipedia , lookup
Surge protector wikipedia , lookup
Stray voltage wikipedia , lookup
Schmitt trigger wikipedia , lookup
Power MOSFET wikipedia , lookup
Crossbar switch wikipedia , lookup
Voltage regulator wikipedia , lookup
Control system wikipedia , lookup
Alternating current wikipedia , lookup
Power electronics wikipedia , lookup
Voltage optimisation wikipedia , lookup
Immunity-aware programming wikipedia , lookup
Opto-isolator wikipedia , lookup
Digital electronics wikipedia , lookup
Buck converter wikipedia , lookup
Logic Circuit Teaching Board By Andrzej Borzecki David Lee Younas Abdul Salam Final Report for ECE 445, Senior Design, Spring 2015 TA: Ankit Jain Group 3 Abstract The goal of this project is to develop an educational board to introduce Electrical Engineering and logic design to young students, and spark an interest for the field. The function of this project is to facilitate teachers in high schools with explaining how circuit design works and provide as a visual aid. It can also be used by students to obtain hands on experience in a safe environment. The educational board teaches logic design by allowing the user to create their own truth table and build a gate level circuit that matches the truth table. The board detects when the user has correctly matched the truth table inputs with the gate level design. It is also capable of identifying which row in the truth table is incorrect if the user is unable to build a matching circuit. ii Contents 1. Introduction ................................................................................................................................. 1 2 Design .......................................................................................................................................... 2 2.1 Design procedure................................................................................................................... 2 3. Requirements and Verification ................................................1Error! Bookmark not defined. 4. Costs.......................................................................................................................................... 18 4.1 Parts ..................................................................................................................................... 19 4.2 Labor ................................................................................................................................... 19 5. Conclusion ................................................................................................................................ 19 5.1 Accomplishments ................................................................................................................ 19 5.2 Uncertainties........................................................................................................................ 19 5.3 Ethical considerations ......................................................................................................... 20 5.4 Future work ......................................................................................................................... 20 References ..................................................................................................................................... 21 iii 1. Introduction Most of electrical engineering students are introduced to logic circuit design as one of the first classes in their undergrad curriculum. Having to learn logic design techniques as well as working with actual chips can become very overwhelming for some students. We realized that many young students would benefit from having an early background in logic design, and this can only be achieved by making a much simpler board for them to use. The purpose of the board will be to help student’s get exposed to logic design earlier, and only have to concentrate on the important aspects. Finding an area of interest for young students to pursue in education is important, and our educational logic board will promote an excitement towards Electrical Engineering. It can help to remove the intimidating image of Electrical Engineering and help student be more prepared and have a better understanding. This would not only facilitate them into deciding electrical engineering as their future field, but will also demonstrate how fun and satisfying the career path can be. Ultimately, this has the potential to benefit nationally as well as on a global scale Figure 1 has the overall design of the project. Power Truth Table Board Truth Table Switches Green LED Power Microcontroller Power Supply Red LED Logic Design Board Logic Design Pieces Power Figure 1 Name Title Date 1 Younas Abdul Salam Block Diagram of Overall Design 5/6/2015 2.0 Design 2.1 Design procedure Power Supply We used a power supply to power the board and its components. It produces a voltage that is used to provide power to the TTL logic components and LEDs on the board and to power the microcontroller used to test the truth table. The supply takes in 120VAC as an input from the power outlet in the wall and inverts and transforms the voltage to the 5VDC required for logic design, within a tolerance of +/- 0.5VDC. The power supply is connected to the board and the microcontroller directly. Using banana plugs, it powers the logic gates connected to it, with a Vdd and Gnd connection. The power supply is also connected to the logic components to power them for use. The ground port of the power supply is connected to the truth table switches, as shown in Figure 5. The calculation for the amount of current required are as follows: 15 LEDs from logic components: 15*~20mA=300mA 15 logic gates inside the components: 15*~3.5mA = 52.5mA 2 selection logic components: 2*~8mA = 16mA Arduino UNO MCU: ~400mA based on the number of ports being used = 400mA Total current = ~800mA To be safe, we use power supply with at least 1.0A. Truth Table Board The truth table board is used to implement the truth table that the user wants to input and test. Using the switches attached to the board, the user inputs a desired truth table. Then the user attempts to build the logic design that matches the board using the logic components. The switches that allow the user to input the desired truth table are connected to a MUX on one side, and Vdd/GND on the other, as shown in the Figure 2. This way, the microcontroller can communicate with the logic shown on the truth table by inputting the selection logic of what value it is trying to read, and then checking what the truth table value is at that location. The board has the capability of hosting up to three inputs, and the corresponding output. The truth table board is a 9x5 grid that holds the truth table on the user’s right side of the logic design board as shown in Figure 2. Additionally the user has the option of specifying how many inputs 2 should be checked using a switch, and the microcontroller can then pick up the values accordingly. Logic Design Board The logic design board is used to hold the TTL logic components and the user input truth table for logic design on the surface of the board. The power supply, programmed microcontroller and necessary control circuitry are located below the user interface and mounted to the bottom of the board as shown in Figure 3. This allows the user a visually appealing user interface without the unnecessary distraction of components which may confuse the user. The board consists of an array where each position in the array contains two banana plugs and a polarity hole. The red and black banana plugs are used to supply 5Vdc and 0Vdc, respectively. The polarity hole ensures that the user places the logic design pieces on the board correctly in order to prevent the user from plugging in the TTL components in reverse polarity causing the logic pieces to malfunction and risk the possibility of damaging the component. Figure 4 shows the initial board design and sizing. The initial length and width of the board were 44cm and 30cm, respectively. The initial design included an array of T plugs, shown in Figure 2. The initial design used T plugs as the interface between the logic design board and the logic pieces being plugged into the board. Because of the lack of durability and inconsistency of the size of the T plugs we decided the design would be easier and more robust by using banana plugs as the connection ports. Banana plugs are both versatile and durable, and used throughout the engineering industry for easy connections. The change in the connection also caused us to change the size of the board. The final length and width of the board are 60cm and 100cm respectively. The array dimensions were also changed from an array that consisted of 3 columns and 5 rows to an array that has 5 columns and 3 rows. This was an important change because of the decrease in voltage drop caused by the series resistances where the pieces are plugged in. In order to maintain the desired voltage at each of the banana plugs this changed needed to be implemented. In order to connect each slot, the board will have wired connections with banana plugs to make connections between TTL logic components. The logic design board will allow the user to manually test the inputs and output of the truth table by using the banana plugs connected to the side of the board labeled Vs, GND, A, B, C and Y. These will be female connections that allow the user to add power to the board and test inputs and outputs by physically plugging in high and low voltages into A, B, C and reading an output from Y. This gives the board versatility because it allows the user to test partial circuits on the board by inputting outputs to different parts of the board. 3 4 5 Microcontroller The purpose of the microcontroller is to implement the various functions possible to assist students with logic design. One of the key functions of the board is the logic tester, which will test whether the student has implemented correct logic according to the truth table. Many other functions are possible, some of which will be mentioned later. Since this board is also open source, any developer can modify the existing functions or add new functions to the board using the microcontroller. The microcontroller is connected to almost all the components in the board, as shown in Figure 6. This helps give complete access to any developer and also helps with debugging, which is a feature that will be discussed later. 6 Figure 6 Name: Title: Date: Younas Abdul Salam MCU connections 5/6/2015 One of the main components is the power circuit used to power the microcontroller. Since the microcontroller requires a voltage of at least 6V to function properly, whereas the voltage from the power supply is 5V, a voltage booster circuit was used. By utilizing a MAX680 voltage booster, the input voltage to the microcontroller was increased above 6V, thus allowing proper functioning. Figure 7 shows the schematic and actual implementation of the circuit. The maximum capacitance allowed in the datasheet is 22uF, which is what was used to be able to provide maximum current without lowering voltage by a significant amount. However, even with the maximum amount of capacitance allowed, the microcontroller could not be used to directly power LEDs, as the voltage drop risked forcing the microcontroller input voltage to lower than 6V. Figure 8 is a graph of the input voltage measured versus the number of LEDs simultaneously being powered by the microcontroller. As can be seen, having one LED turned on reduces the voltage to close to 5V, and having two on lowers it below 5V. The solution of this problem is to connect the LEDs through NOT gate buffers. The microcontroller therefore only has to provide voltage with a small amount of current. The amount of current required to turn on the LED is provided by the gate, which is receiving power directly from the power supply. The circuit for the LED is as shown in Figure 9. We used a double colored LED which turned on either Red or Green, depending on the polarity of voltage across the inputs. 7 Voltage vs # of LEDs 7 Voltage (V) 6 5 4 3 Voltage 2 1 0 0 0.5 1 1.5 2 2.5 Number of LEDs Figure 8 Name: Title: Date: Younas Abdul Salam Voltage vs # of LEDs 5/6/2015 Figure 9 Name: Title: Date: Younas Abdul Salam LED buffer 5/6/2015 Another design variation we had to implement was to correct for floating inputs from the switches to the microcontroller. Normally, such issues are resolved by using a resistor and a switch in series. However, to limit the amount of current drawn due to a path from Vdd to Gnd in this set up, we decided on using TTL chips. TTL chips are designed to treat floating inputs as HIGH. If we use a NOT gate, then the normal OFF position of the switch sends a LOW voltage to the output, as a floating is considered a HIGH input and converted to a LOW output. If the switch is connected to Gnd, then the NOT gate will change the output to HIGH, which is how we want it to function. Figure 10 shows the connection between the switch and NOT gate, and how this is implemented. 8 Figure 10 Name: Younas Abdul Salam Title: Switch buffer Date: 5/6/2015 The final hardware variation required for the microcontroller was a 8-to-1 MUX to read inputs from the switches and turn on the computational LEDs to assist the students with designing. Due to limited number of ports on the microcontroller, it is not feasible to connect all eight switches directly to it. Therefore, using a MUX, specific switches can be read by adjusting the selection logic. Figure 11 shows is a connection diagram of how this is implemented. Furthermore, this helps turn on the computational LEDs as desired, without having to implement extra circuitry for them. Each value of the selection logic corresponds to an LED, and therefore the LEDs can be controlled using the same outputs from the microcontroller. In order to prevent the LEDs from turning on when switches are being read, an enable signal is added. Figure 11 Name: Title: Date: Younas Abdul Salam Switch + MUX 5/6/2015 As discussed earlier, the main feature implemented by the microcontroller is to test the logic designed by the student. The flow chart for the code is shown in Figure 12. When the user wants to run the test function, he will press a button on the board linked to the microcontroller, signaling it to begin the testing. The microcontroller will first figure out how many inputs the user wants to use by reading the switch, and adjust the number of cycles accordingly. The microcontroller will then start running tests on the truth table values by reading the values in the truth table, and simultaneously testing the board logic to make sure it is correct. To read the outputs of the truth table one at a time, the 3-bit selection logic signal will be sent to the MUX and that output will be outputted by the MUX and will be fed into the microcontroller. If the 9 result is incorrect, the user will be notified by a Red LED and the program will stop. If the result is correct, the microcontroller will keep testing until the loop has run, and turn on a Green LED indicating that all values are correct. BEGIN Check # of inputs Send 3-bits to decision inputs Output from Truth Table Pick up Output Send appropriate BC logic value 2 # of inputs? 3 Send appropriate ABC logic value 1 Send appropriate C logic value Increment bits to decision and rest of logic Output from Logic Board Pick up output logic Correct but values remain to be checked Check with truth table logic Correct and all relevant values checked END Incorrect Red LED ON END Green LED ON Figure 12 Name Title Date Younas Abdul Salam Flow Chart for Microcontroller Program 5/6/2015 Additional features that have been created for the microcontroller are hardware debugging and minimum number of gates required. The hardware debugger can be used to test the function of the hardware components to ensure they are working correctly. All data will be displayed on the Arduino serial output, as shown in Figure 13 and Figure 14. Figure 13 is a complete run through without any errors, and Figure 14 is a purposely induced error to demonstrate how it would function. The operation of the board must be consistent with what the user has input, and any hardware discrepancies can be determined using this code. The second feature is the number of gates feature, which can be used to challenge students. It displays on the board as well as through 10 the serial input, the minimum number of gates the truth table can be implemented in, as is shown in Figure 15. Figure 13 Name: Title: Date: Figure 15 Younas Abdul Salam All logic correct 5/6/2015 Name: Title: Date: Figure 14 Name: Title: Date: Younas Abdul Salam Error in logic 5/6/2015 Younas Abdul Salam Number of gates 5/6/2015 Logic Design Pieces The logic design pieces hosted the components that are essential to making the pieces easy to use and provide relevant logic information. Each one of the pieces had a gate and a LED connected to the output. The LEDs conveyed the logic output of the piece to the user, so it was easier to see the logic flow through the created circuit and also assisted in debugging. The power connectors were plugged into the logic board directly when the piece was plugged in, in order to power the chip and LEDs. Each one of the logic pieces were shaped as the logic element they represented, this way it was easier for the user to keep track of the gates used for the desired circuit. Some of the other possible designs for the logic pieces were to keep them all shaped the same and draw the gates 11 on top of each piece. If we would have chosen this design, it would have made 3D printing less strenuous but it would not give the optimal user experience when trying to learn logic design. Therefore we decided to 3D print logic units shaped as their respective gate inside. Below figures 16 through 18 represent the final shapes of the logic pieces. Figure 16 Name Title Date Figure 18 Figure 17 Andrzej Borzecki AND Gate 3D 6/6/2015 Name Title Date Andrzej Borzecki NOT Gate 3D 6/6/2015 Name Title Date Andrzej Borzecki OR Gate 3D 6/6/2015 Each of the logic pieces hosted an integrated circuit that were essential to making the pieces easy to use and provided relevant information to the user. Each one of the logic pieces had an output LED which provided information to the user on the state of the, which was either high or low. The circuit schematics are provided below in figures 19 through 21. Figure 19 Name Title Date Figure 20 Andrzej Borzecki AND Gate Schematic 2/23/2015 Name Title Date Figure 21 Andrzej Borzecki OR Gate Schematic 2/23/2015 Name Title Date Andrzej Borzecki Inverter Schematic 2/23/2015 In order to ensure the reliability of the LEDs on the logic pieces we had to calculate the optimal size of the resistor to limit current flowing through the resistor. Our calculations went as follows: R = V/I = (5 - 3.5) / 0.02 = 75 Ohms ------------------------------------------------------------------- (1) 12 I (mA) vs V I (mA) 40 20 I (mA) 0 0 2 4 6 Voltage (V) Figure 22, I/V curve for green output LED. 3.0 Requirements and Verification Requirement Verification Points 1. Power Supply 1. Supply 5V +/- 0.5V to the board components 1. Test the output voltage and current of the power supply: a) Plug the power supply into the power outlet on the wall which supplies 120Vac. b) Close the power supply safety(flip to on position) 15 c) Using a voltmeter probe the output of the supply. The voltage on the voltmeter should read 5+/-0.5V. 2. Board current is limited to less than 1.5A 2. Check the current drawn by the board: a) Connect an ammeter in series to the power supply of the board. b) Close the power supply safety(flip to on position) c) Disconnect all of the TTL logic components from the board. d) Open the switches on the top right of the board used to set the truth table (set to 0 if they are on 1). 13 15 e) Connect the power supply of the board to a 120Vac wall outlet. f) Ensure that the current being read on the on the ammeter is less than 1.5A. g) Close the switches on the top right of the board used to set the truth table (set the switches to 1) and ensure that the current being read on the ammeter is less than 1.5A . h) Reconnect the TTL logic components to the board and ensure that the current being read on the ammeter is less than 1.5A. 2. Truth Table Board 1. Propagate a correct LOW (0 V) voltage to the inputs of the multiplexer, when the switches are in LOW position. 2. Propagate a correct HIGH (5 +/- 0.5V) voltage to the inputs of the multiplexer when switches are in HIGH position. 3. Propagate the correct number of inputs information from the switch to the microcontroller. 1. a) Set all switches to LOW position. b) Connect a voltmeter in parallel to the input of the multiplexer. Positive terminal must be connected to input and negative connected to ground. c) The voltmeter must read 0V, meaning that the correct voltage is being propagated. d) Repeat test with all the inputs, and confirm that all are getting and input 0V. 2. a) Set all switches to HIGH position. b) Connect a voltmeter in parallel to the input of the multiplexer. Positive terminal must be connected to input and negative connected to ground. c) The voltmeter must read 5 +/- 0.5V, meaning that correct voltage is being propagated. d) Repeat test with all the inputs, and confirm that all are getting the correct input voltage. 3. a) Set the number of inputs switch to 1. b) Connect a voltmeter between the output of the switch and ground. Connect positive terminal to the switch output and negative to ground. This is to reference the potential difference with respect to ground. c) Measure the voltage across the three outputs 14 15 from the switch. d) The wires must output a logic 100. This means that the first wire must have a 5 +/- 0.5V output, while the other two must be 0V. e) Repeat the test with the number of inputs as 2. The logic output from the switches must be 010. f) Repeat the test with the number of inputs as 3. The logic output from the switches must be 001. 3. Logic Design Board 1. The output at each T-Plug must be at 5V +/-0.5V and a 0V. 1. Test the output voltages for the TTL components: a) Remove all of the TTL logic components from the board b) Plug the power supply into a 120Vac wall outlet so the board receives voltage. c) Close the power supply safety(flip to on position) d) Starting from the top left TTL component slot, probe the positive and negative outputs of the T-Plug using a voltmeter. Ensure that each T-Plug outputs 5V +/0.5V. 2. User defined banana plug connections e) Repeat step c) for each of the TTL component slots on the board. The voltmeter must read 5+/-0.5V for each TTL component slot 2. Test the output voltages for the banana plugs a) Plug the power supply into a 120Vac wall outlet so the board receives voltage. b) Close the power supply safety(flip to on position) c) Using a voltmeter probe the banana plugs labeled Vs and GND. d) The voltage between the two should be 15 10 3. Power supply safety switch(on) 5+/-0.5V 3. Test the power supply output when the safety switch is closed(default closed/on): a) Plug the power supply into a 120Vac wall outlet so the board receives voltage. b) Close the power supply safety(flip to on position) 4. Power supply safety switch(off) c) Using a voltmeter, probe the outputs of the power supply. The voltmeter should read a voltage of 5V +/-0.5V 4. Test the power supply output when the safety switch is open(off): a) Plug the power supply into a 120Vac wall outlet so the board receives voltage. b) Open the power supply safety(flip to off position) 4. T-Plug connection for TTL logic components c) Using a voltmeter, probe the outputs of the power supply. The voltmeter should read a voltage of 0V meaning no components are receiving a voltage 4. Test the connection between the TTL logic component and the board a) Plug in each TTL logic component into the board b) Flip the board upside down and ensure that none of the TTL logic components fall out 4. Microcontroller 1. Provide a set of instructions to pick up values from the truth table. Must send instructions in a sequence to pick up the values row by row. It must also use these values to test the main logic board. 1. Run microcontroller with given test program. Press Ctrl + M in the Arduino software to open up the serial port. The port will show all the values of the microcontroller and what inputs and outputs it is picking up. Run through the whole code, with known truth table logic and logic gate setup. Any errors will show up on the 16 30 serial port and can be used to debug the program. The easiest method is to connect out to HIGH, and set all truth table switches to HIGH. If the program runs through, everything is correct. If not, check where the program stops as that switch might be faulty. If the program stops before the end due to any other error, the microcontroller may not be receiving the correct data and that wire connection is faulty. 5. Logic Design Pieces 1. AND, OR, and Inverter gate need to give correct logic output, and turn on correct LEDs when expected. 1. To check LEDs, power each in/out terminal with a 5+/-0.5V supply, and see if the LED turns on. Each one of the logic elements will have to be checked separately and individually. To check the logic is working, send in a known logic value with known output, and see if the expected output value shows at the output of the each gate. AND: 00=0,01=0,10=0,11=1 OR: 00=0,01=1,10=1,11=1 NOT: 0=1,1=0 20 6. Truth Table Switches 1. Output a LOW (0V) voltage when in the low position. 2. Output a HIGH (5 +/- 0.5V) voltage when in the high position. 1.a) Set all switches to LOW position. b) Connect a voltmeter in parallel to the output of a switch. Positive terminal must be connected to switch output and negative connected to ground. c) The voltmeter must read 0V, meaning that the correct ground voltage is being outputted. d) Repeat test with all the switches and their outputs, and confirm that all are giving 0V with respect to ground. 2.a) Set all switches to HIGH position. b) Connect a voltmeter in parallel to the output of a switch. Positive terminal must be connected to switch output and negative connected to ground. c) The voltmeter must read 5 +/- 0.5V, meaning that the correct Vdd voltage is being outputted. d) Repeat test with all the switches and their outputs, and confirm that all are giving above voltage with respect to ground. 17 10 3. Switch from HIGH to LOW output within one second, when switch is flipped. 4. Switch from LOW to HIGH output within one second, when switch is flipped. 3. a) Set all switches to HIGH position. b) Connect a voltmeter in parallel to the output of a switch. Positive terminal must be connected to switch output and negative connected to ground. c) The voltmeter must read 5 +/- 0.5V, meaning that the correct Vdd voltage is being outputted. d) Flip the switch to the LOW position. e) The voltmeter must register a LOW (0V) output within a second of flipping the switch. f) Repeat test with all the switches and their outputs, and confirm that all are giving above voltage with respect to ground. 4. a) Set all switches to LOW position. b) Connect a voltmeter in parallel to the output of a switch. Positive terminal must be connected to switch output and negative connected to ground. c) The voltmeter must read 0V, meaning that the correct ground voltage is being outputted. d) Flip the switch to the HIGH position. e) The voltmeter must register a HIGH (5+/0.5V) output within a second of flipping the switch. f) Repeat test with all the switches and their outputs, and confirm that all are giving above voltage with respect to ground. Table: Requirements and Verification Tolerance: The successful operation of the complete project relies on a stable power supply output voltage. No matter how many components have been connected, the total voltage output must not drop below 4.5V. To check to this, plug in all the available components into the ports on the board, so that as many ports as possible have logic gates plugged in. Also, set all the truth table outputs to HIGH (1). Connect a voltmeter in parallel to the output of the supply, and an ammeter in series to one of the supply voltage terminals. This is to measure the current and voltage at maximum circuit operation. Run the logic test on the microcontroller, immediately check the voltage and current. The voltage of the supply must not fall below 4.5V for a current less than 1.5A. Otherwise, this is likely to affect the logic decisions made by the different logic components and affect the performance of the product. 4.0 Cost and Schedule 4.1 Cost Analysis 18 4.1.1 Labor Name Younas Abdul Salam Andrzej Borzecki David Lee Total Hourly Rate $27.00 $27.00 $27.00 $81.00 Total Hours Invested 120 120 120 360 Total $3240 * 2.5 = $8100 $3240 * 2.5 = $8100 $3240 * 2.5 = $8100 $24300.00 4.1.2 Parts Item AND gates OR gates NOT gates Microcontroller Power Supply- XP Power VEP15US05 LEDs Banana Plugs Banana Cables Power Sockets Resistors and Capacitors Boards 8-1 MUX 1-to-3 switch 2-to-1 switch Total Part Number 74AHCT1G08SE-7 NC7SZ32P5X TC7S04F Arduino UNO 1470-2331-ND Quantity 4 4 2 1 1 Cost $1.00 $1.00 $0.50 $30.00 $20.00 N/A N/A N/A N/A N/A N/A SN74LS251N N/A N/A 15 35 35 15 15 2 1 1 11 $1.50 $7.00 $10.00 $20.00 $1.50 $30.00 $1.00 $1.00 $11.00 $135.50 4.1.3 Grand Total Section Labor Parts Grand Total Total $24300.00 $135.50 $24435.50 5.0 Conclusion 5.1 Accomplishments We were able to successfully design and complete the project as according to our proposal specifications. Both the board and the logic pieces passed testing as outlined in our verification chart. We were able to successfully demo the project to our professor, peers, and younger students who may be interested in engineering. This project has given us a great insight 19 on the product development procedures and hope it can inspire younger students to pursue engineering. 5.2 Uncertainties Even though our project is functioning at a high level, it is still uncertain how effective the project would be as an educational tool. From an engineering prospective, this design has all the capabilities of teaching logic design to the future generation. 5.3 Ethical Considerations Complies with IEEE Code of Ethics. Product is designed to be safe under normal use, and is thoroughly tested to ensure minimum malfunctions. Our project is designed to improve the understanding of circuits in general, logic circuits in particular. The following IEEE Code of Ethic applies, which states that as electrical engineers we must help “to improve the understanding of technology; its appropriate application, and potential consequences.” We have thoroughly tested the working of the project, and all claims of performance are backed by data and calculations provided. The following IEEE Code of Ethic applies, which states that as electrical engineers, we agree “to be honest and realistic in stating claims or estimates based on available data.” 5.4 Future Work We left our project with an open source capability to the micro-controller located inside the board with the hopes of it being developed per class requirement. We are also leaving the 3D renderings as an open source so more gate pieces and larger variety of gate pieces can be made. With this we are hoping to accomplish a larger enrollment into engineering curriculum's'. 20 Citations 1. 2. 3. 4. 5. 6. 7. "74F08PC Datasheet." Fairchild Semiconductor. Fairchild, n.d. Web. "74F32PC Datasheet." Fairchild Semiconductor. Fairchild, n.d. Web. "74F14PC Datasheet." Fairchild Semiconductor. Fairchild, n.d. Web. "Document with Confidence." AutoCAD for Mac & Windows. N.p., n.d. Web. 06 May 2015. "About Us." Champaign-Urbana Community Fab Lab. N.p., n.d. Web. 06 May 2015. "Machine Shop." Machine Shop. N.p., n.d. Web. 06 May 2015. Shanahan, Patricia. "Truth Table Simplifier." Truth Table Simplifier. N.p., n.d. Web. 06 May 2015. <http://www.patriciashanahan.com/simplify/>. 8. Maxim Integrated. "MAX680." +5V to ±10V Voltage Converters. N.p., n.d. Web. 06 May 2015. <http://www.maximintegrated.com/en/products/power/charge-pumps/MAX680.html>. 9. "Arduino Tutorial - Lesson 4 - Serial Communication and Playing with Data." Ladyadanet. N.p., n.d. Web. 06 May 2015. <http://www.ladyada.net/learn/arduino/lesson4.html>. 10. Arduino. "Arduino - DigitalReadSerial." Arduino - DigitalReadSerial. N.p., n.d. Web. 06 May 2015. <http://arduino.cc/en/Tutorial/DigitalReadSerial>. 21