Computer Engineering Activities The Joystick Project BEIT 2003 Graham Smyth Yungsiow Yang Jerry Dolata Kevin Shea Ilana Smyth
Computer Engineering Units Grades 10/11/12 1. Hardware 2. Networking 3. Integrated Circuits 4. Programming 5. Interfaces
Interfacing Activities Grade 12 One byte LED intersection Stop Lights AC? Vehicles Security systems Drag strips Music Boxes Joysticks Marquees GUIs/Mouse Control
Interfacing Activities
World’s Largest Portable Joystick
Claim ID: Membership Number: June 2003 Dear Mr Smyth Thank you for sending us the details of your recent record attempt for 'Largest Joystick'.I am afraid to say that we are unable to accept this as a Guinness World Record. Unfortunately our research team have concluded that your attempt does not conform to our manufactured articles guidelines as there is no commercially available joystick which looks like a small version of this. I appreciate that this may be disappointing to you, but I hope that this does not deter you from trying again. We are always keen to hear from people who wish to set a Guinness World Record. If you should need any advice regarding breaking an existing record or setting a new Guinness World Record please contact us again through our website or directly quoting the above membership number. Once again thank you for contacting Guinness World Records. We wish you every success with any future record-breaking endeavours. Yours sincerely, Sophie Whiting Records Research Services
Breadboard Architecture Connected High Fives Divider Low Fives
Computer Interface Peripheral Interfacing System Unit 5 Parallelport Wires ICs Resistors Capacitors Transistors LED's Motors Lights Robots Joysticks Software Hardware
Joystick Software Turing parallelput(number) - reads 8 pins put parallelget - reads 5 pins mousewhere(x,y,click) play(“CDEFG”) drawline(x1,y1,x2,y2,red) FREE!!!
Joystick Hardware Five male pins One D sub connector Cable 1 – D sub to Breadboard Cable 2 – Breadboard to Joystick One N.O. pushbutton One Doorstop Five Resistors (Brown/Black/Orange) Four Small pipes One Block of wood One Breadboard
Joystick Hardware - Resistor Joystick Hardware - Resistor (Five Required) Brown Black Orange Gold 1 0 X 10 3 Tolerance +-5%
Resistor Chart
Cable 1: D sub to Breadboard Male Pin Insulated Wire Large Crimp Tab Stripped Wire Small Crimp Tab
D sub to Breadboard Cable White/Green Green Brown Blue White/Brown Orange White/Blue White/Orange
Joystick Hardware : Parallelport View from back of Computer Output D0 – D7 Input I0 – I3 Input I4 Grounds
Joystick Hardware: Normally Open Switch Physical Schematic
Joystick Wiring Schematic Fire Button To D Sub Joystick
D Sub Connector Pin 10 Pin 18 D sub Connector Pin 15 Pin 13
D Sub Connector (with extraction wire)
D Sub Connector Colour Code Pin # Colour 2Brown 10Green 11Orange 12Blue 13 White/Green 15 White/Orange 18 White/ Blue
D Sub to Breadboard Cable Pin13 White/Green Pin12 BluePin11 Orange Pin10 Green Pin18 White/Blue Pin15 White/Orange Pin 2 Brown Total of seven wires from D sub connector
From D Sub to Breadboard Pin 2 to Upper Rail
Breadboard with Resistors Resistors to Top Rail Brown/Black/Orange Resistors to Any Column
D Sub to Breadboard Cable To Pin11 (Orange) To Pin12 (Blue) To Pin13 White/Green To Pin18 White/Blue To Pin15 White/Orange To Pin 2 Brown Total of seven wires from D sub connector To Pin 10 Green
Joystick – Top View Fire Button Top Rail Left Rail Right Rail Bottom Rail Joystick
Joystick Cable 1. Run the White/Orange and the White/Blue wire into fire button hole 2. Attach the White/Orange wire to one pin of fire button 3. Attach the White/Blue wire to the second pin of fire button
Joystick Cable continued 4. Attach a short White/Blue wire to the second pin of fire button 5. Run the other end of this White/Blue wire into the joystick hole 6. Insert the fire button into the block 7. Wrap short White/Blue wire around the screw in the base of the door stopper 8. Screw base of door stopper into the bottom of the joystick hole
Joystick Cable continued 9.Run the Green, Orange, Blue, and White/Green wires into the joystick hole 10. Wrap Green wire around Top rail 11. Attach Orange wire around Bottom rail 12. Attach Blue wire around Left rail 13. Attach White/Green wire around Right rail 14. Screw door stopper into base 15. Insert the 4 rails into their appropriate locations
Connecting Joystick to Breadboard Method: Match the colour of the seven wires already in the breadboard with the colour of the six wires coming from the joystick. Next diagram is messy, sorry
Joystick to Breadboard Six wires from Joystick Previous seven wires from D Sub
End of Hardware Start of Software
Inputting Software Assignment 1 Write a program that will continuously scan for input values from the parallelport.
Inputting Software Code 1 parallelput(1) loop% Start of infinite loop. put parallelget% Returns input pin values. end loop% End of loop.
Inputting Data Matrix: Part 1 PartPositionParallelget Value 1Neutral 2Up 3Down 4Left 5Right 6Up/Left 7Up/Right 8Down/Left 9Down/Right
Inputting Data Matrix: Part 2 PartPositionParallelget Value 10Fire/Neutral 11Fire/Up 12Fire/Down 13Fire/Left 14Fire/Right 15Fire/Up/Left 16Fire/Up/Right 17Fire/Down/Left 18Fire/Down/Right
Inputting Software Assignment 2 Write a program that will: Display “UP” when the joystick is moved up Display “DOWN” when the joystick is moved down Display “LEFT” when the joystick is moved left Display “RIGHT” when the joystick is moved right etc
Inputting Software Solution Assignment 2 parallelput(1) var value : int loop value := parallelget if value = ______ then put “UP” elsif value = _____ then put “DOWN” etc
Inputting Software Assignment 3 Write a program that will: Draw 8 arrows (compass points) and a fire button Randomly highlight one of the 8 arrows and/or the fire button Time how long it takes the user to match the prompt with the corresponding joystick movement Repeat 20 times Output the total time taken for all 20 matches ?????? Additions ??????
More Hands-On Activities Keyboard Intersection Robot World’s Largest Joystick
Addresses