SI joystickfinal 2003

Download Report

Transcript SI joystickfinal 2003

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
Interfacing Activities
Interfacing Activities
Interfacing Activities
World’s Largest Portable
Joystick
World’s Largest Portable
Joystick
Claim ID: 38433
Membership Number: 37096
05 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
Connected
Interfacing System
Unit 5
Computer
• Parallelport
Software
Interface
Peripheral
• Wires
• ICs
• Resistors
• Capacitors
• Transistors
• LED's
• Motors
• Lights
• Robots
• Joysticks
Hardware
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
(Five Required)
1
0 X 103
Brown Black Orange Gold
Tolerance
+-5%
Resistor Chart
BLACK
BROWN
RED
ORANGE
YELLOW
GREEN
BLUE
VIOLET
GRAY
WHITE
BAND 1
0
1
2
3
4
5
6
7
8
9
BAND 2
0
1
2
3
4
5
6
7
8
9
BAND 3
1
10
100
1 000
10 000
100 000
1 000 000
10 000 000
100 000 000
1 000 000 000
Cable 1: D sub to Breadboard
Insulated Wire
Male Pin
Small Crimp Tab
Stripped Wire
Large Crimp Tab
D sub to Breadboard Cable
White/Green
Green
Brown
Blue
White/Brown
Orange
White/Blue
White/Orange
Joystick Hardware : Parallelport
Input
I0 – I3
13
12
11
10
25 24 23
9
22
8
21
7
20 19
6
5
18
4
17
3
16
2
15
1
Output
D0 – D7
14
Grounds
18 - 25
Input I4
View from back of Computer
Joystick Hardware:
Normally Open Switch
Schematic
Physical
1
1
2
2
Joystick Wiring Schematic
Fire Button
Joystick
To D Sub
D Sub Connector
Pin 13
Pin 10
D sub
Connector
Pin 18
Pin 15
D Sub Connector
(with extraction wire)
D Sub Connector Colour Code
Pin # Colour
2
Brown
10
Green
11
Orange
12
Blue
13
White/Green
15
White/Orange
18
White/ Blue
D Sub to Breadboard Cable
Pin12 Blue
Pin13 White/Green
Pin11 Orange
Pin10 Green
Pin 2 Brown
Pin18 White/Blue
Pin15 White/Orange
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 Pin 2
To Pin18
Brown
White/Blue
To Pin 10
Green
To Pin15
To Pin11
(Orange)
White/Orange
To Pin12
(Blue)
To Pin13
White/Green
Total of seven wires from D sub connector
Joystick – Top View
Fire
Button
Top
Rail
Bottom
Rail
Left
Rail
Right
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
1 2
3
4
5 6
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
put parallelget
end loop
% Start of infinite loop.
% Returns input pin values.
% End of loop.
Inputting Data Matrix: Part 1
Part
Position
1
2
3
Neutral
Up
Down
4
5
Left
Right
6
7
Up/Left
Up/Right
8
9
Down/Left
Down/Right
Parallelget
Value
Inputting Data Matrix: Part 2
Part
Position
10
11
12
Fire/Neutral
Fire/Up
Fire/Down
13
14
Fire/Left
Fire/Right
15
16
Fire/Up/Left
Fire/Up/Right
17
Fire/Down/Left
18
Fire/Down/Right
Parallelget
Value
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
[email protected]
www.classictechnology.ca
www.holtsoft.com