Download presentation
Presentation is loading. Please wait.
Published byMichael Singleton Modified over 9 years ago
2
Ahmed Khawaja: Microcontroller Jonathan Limpalair: Construction Bryan Mason: Microcontroller Jesse Mccall: Editor, UI David Pesa: Construction Eric Stockton: Team Captain, UI
3
Our goal was to make a reprogrammable Turing machine. The physical machine is made entirely of Lego parts. The Lego microcontroller is programmed in C like language. The GUI is programmed in Java.
4
The machine interfaces with the tape based on a program specified by an end-user. The machine has an instruction set including jump, move, and write. The machine uses a 32 bit reel of tape. The user interface displays output that explains the binary on the tape.
5
Let us show you…
7
BricxCC used to program the controller for the LEGO motors ◦ No need for Arduino, we have a powerful tool at our disposal already ◦ Simpler and well-documented examples nXc – Not eXactly C ◦ More control over the machine Access of encoders, byte-flag options for sensors ◦ Tasks “Threaded” programs ◦ Functions Normal C-like functions
9
Initially test components individually ◦ Hardware Move tape, flip bits, read bits Testing while building allows a quick modification of hardware configuration to achieve desired results ◦ GUI Accept user input, modify existing input, export input Easier to determine which component contributes to failure After both hit acceptable levels, start testing combination of GUI and Hardware What our machine is designed to do
11
We used the Mindstorms NXT 2.0 set (#8547). We also ordered spare parts from both the Mindstorms NXT 2.0 set and crane set. The Intelligent Brick, motors, and sensors from the Mindstorms NXT 2.0 set are all that operate the motor functions of the machine.
12
The physical machine consists of a base and the strip of tape. The bit flipping arm, the motor that moves the tape, and the sensor are on the base. The Tape is a 32 bit long connected piece that floats along the base and is driven by the motors.
16
Color sensor used to read in the value of a bit (Zero or One position) One of the more complex parts of the project Values read in by the sensor are affected by the ambient light in the room We use a calibration and voting algorithm to get accurate readings from the sensor.
19
The predicate: (buttonClicked || (ctrlKey && shiftKey && qKey)); This predicate acts as a contingency plan for the Turing machine. If preferred, the user can use keyboard commands to exit the program.
21
Path # buttonCli cked ctrlKeyshiftKeyqKeyTrue 1T---Yes 2FF--No 3FTTTYes 4FTF-No 5FTTF 6FTTTYes
22
ParameterValue WorkstationMac Dell Vostro Personal Build Dell Laptop Screen Size15"18"22" GUI Size (In Dimension/Java) 30x 50 50x5060x40 Bit Flip Speed (Motor %) 30%60%100% Tape Movement Speed (Motor %) 30%60%100%
23
Run No WorkStation Screen Size GUIBFSTMS Pass/ Fail 1Mac15"30x5030% 2Mac18"50x5060% F 3Mac22"60x40100% F 4Mac15"30x5030% 5Dell Vostro15"50x50100%30%F 6Dell Vostro18"30x5030%100% 7Dell Vostro22"30x5030%60% 8Dell Vostro15"60x4060%30%F 9Personal Build15"60x4030%60%F 10Personal Build18"30x50100%30% 11Personal Build22"30x5060%30% 12Personal Build15"50x5030%100%F 13Dell Laptop15"30x5060%100% 14Dell Laptop18"60x4030% F 15Dell Laptop22"50x5030% F 16Dell Laptop15"30x50100%60%
24
Tested: ◦ 10 Entry Maximum ◦ 20 Entry Maximum ◦ 50 Entry Maximum Process: ◦ Changed array size accordingly. Result: ◦ All results gave the desired output. Input was given up to the maximum limit and no more was allowed.
25
Tested: ◦ Actual sending of the instructions to a file. Process: ◦ Entered Commands and verified their transmission to the file. Result: ◦ After a few problems with the controller and IO, we were able to achieve successful transmission.
26
Tested: ◦ The cursor’s accuracy on the Scrolling Screen. Process: ◦ Entered commands and verified their transmission. ◦ Checked the current command being changed with the cursor’s position on the Scrolling Screen. Results: ◦ After making changes to the Scrolling screen’s interaction with the controller, we achieved the desired result.
27
2 Parts Tested: ◦ Clearing on the screen ◦ Clearing in the document. Process: ◦ Entered commands and verified their transmission. ◦ Issued the “Clear” command. Results: ◦ After reconfiguring the controller interface and the IO interface we achieved the desired results.
28
Student (Samuel Jackson – age 13): Samuel represents the common student Professor (Dr. Hawking – age 45): Dr. Hawking is demonstrating the Turing machine Breaker (Attila Dada – age 14): Attila loves to break things and will to cause glitches Tinkerer (Albert Newton - age 12): Albert will tinker and play around with the machine
30
Actor: Student, Samuel Jackson Preconditions: The specific bit is a 0 Steps: The user enters the read bit command on the GUI. The user sends the command to the microcontroller on the Turing Machine. The microcontroller signals the sensor to read the bit. Postconditions: The bit is read as a 0. Alternative Scenarios: ◦ Scenario One: The bit is incorrectly read as a 1.
31
ES
32
As of now we have successfully built the entire machine and have functionality on it. We have completed the GUI and are finalizing the coding for the actual machine to work behind the scenes. In the next few weeks all we will be doing is testing all of our test cases and making the tweaks we need to get a final product done by the end of the semester.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.