Title: Introductory Interfacing
1Introductory Interfacing Electronics
- Peter Beens
- peter_at_beens.org
- Presented at Durham College
- November, 2004
2Overview
- This presentation covers a basic introduction to
interfacing with the parallel port and just
enough electronics to keep you from damaging your
computer.
3Interfacing Introduction
4Interfacing Overview
Interface
Peripheral
- Wires
- ICs
- Resistors
- Capacitors
- Transistors
- Connectors
- LEDs
- Motors
- Lights
- Robots
- Joystick
- Music Box
5What Ports Can We Interface?
- Parallel Port (AKA Printer Port)
- Serial Port (AKA RS232)
- Keyboard Port
- USB??? (Hopefully soon)
We will concentrate on the Parallel Port
6Identifying the Parallel Port
- Its the female connector with 25 pins
- DB25
Can be on a card
7Electronics Introduction
8Three Main Invisible Electrical Properties
- Voltage, V, Volts
- Provides the push
- Current, I, Amperes (Amps)
- Flow of Electrons
- Amount of Current is dependent on Voltage and
Resistance - Resistance, R, Ohms (S)
- Limits the amount of current
9Safe Current Voltage Levels
- Voltage 30 V
- Voltages inside a computer do not exceed 12 V,
except at the power supply and power switch on
older computers, which are at 120 V.Be careful
in these areas! - Current 5 mA (0.005 Amperes)
10Voltage Sources
11Current
- Is the flow of electrons
- Direction depends on convention
12Ohms Law
Current (I) is proportional to Voltage (V) and
inversely proportional to Resistance (R)
13Ohms Law Power Wheel
Reproduced by permission of Tony van Roon, 2002
http//www.uoguelph.ca/antoon
14Kirchhoffs Laws
- Kirchhoffs Voltage Law
- The sum of the voltage drops equals the applied
voltage, or - The sum of the voltage drops around a closed
loop equals zero - Used in series circuits
- Kirchhoffs Current Law
- The current entering a junction must equal the
current leaving the junction - Use in parallel circuits.
15Light Emitting Diodes (LEDs)
- A type of diode designed toemit light
- Can be visible or IR
- 2 V voltage drop
- Typically draws 20 mA (0.020 A)
- Schematic Symbol
16Resistors
- Can be rated by
- Resistance (Ohms, S)
- Tolerance ( of nominal value)
- Power Rating (Watts)
- Schematic Symbol
17Resistor Types
18Resistor Colour Code
Reproduced by permission of Tony van Roon, 2002
http//www.uoguelph.ca/antoon
19Resistor Colour Code Example
- 1st band orange 3
- 2nd band orange 3
- 3rd band red 2 (i.e. 102)
- 4th band gold 5
33 x 102 3300 S 3.3 kS
20Resistor Power Ratings
21Series Circuits
- One current path, therefore the current is the
same everywhere - Total resistance is the sum of the individual
resistances
22Parallel Circuits
- More than one current path
- Total current is the sum of the individual
currents
23The Parallel Port The Hardware
24Parallel Port Specifications
- Output Voltage
- 0V for low
- 5V for high
- TTL (Transistor-Transistor Logic)
- Output Current Limitation
- 10-15 mA (careful!)
25Parallel Port Pinout
Graphic from http//www.doc.ic.ac.uk/ih/doc/par/
26Output Table
27Input Table
28Interfacing an LED Circuit
29Understanding the LED Circuit
- The parallel port output is 5V
- A standard red LED needs 20 mA and drops about 2
V - A resistor is needed to drop the excess voltage
30Doing the Math
From Kirchhoffs Voltage Law
From Ohms Law
Currents equal in a series cct
31Motor Control
(A stepper motor would require more outputs)
32High Current Control
33Parallel Port Connector Tip
34The Programming
35Turing Preparing for Interfacing
- Turing is already prepared for interfacing with
the parallel port - No preparation necessary!
36Turing Turning On the LED
- Parallelput(value)
- Parallelput(1) turns on the 1 bit (D0)
- Parallelput(255) turns on all bits (D0-D7)
37Turing Turning Off the LED
38Turing Flashing the LED
- loop
- parallelput (1)
- delay (250)
- parallelput (0)
- delay (250)
- end loop
39Turing LED Walking
- loop
- loops up
- for i 0 .. 7
- parallelput (2 i)
- delay (500)
- end for
- loops down
- for decreasing i 6 .. 1
- parallelput (2 i)
- delay (500)
- end for
- end loop
40Java Preparing for Interfacing
- Download http//www.geocities.com/Juanga69/parport
/parport-win32.zip - Extract the parport folder to your classes folder
- Copy parport.dll to you bin folder
- import parport.ParallelPort
- ParallelPort lpt1 new ParallelPort (0x378)
41Java Output
- ParallelPort lpt1 new ParallelPort(0x378)
- int byteVal 255
- lpt1.write(byteVal)
- System.out.println("Output to port " byteVal)
42Java Input
- ParallelPort portIn new ParallelPort (0x378)
- int in
- in portIn.read ()
- System.out.println (in " is currently being
input.")
43Java Delay Method
- private static void delay (int mS)
-
- try
- Thread.sleep (mS)
-
- catch (Exception e)
-
-
44Delphi Preparing for Interfacing
- Download io.dll from http//geekhideout.com/downl
oads/io.dll - Copy into project folder
45Delphi Output
- procedure PortOut(Port Word Data Byte)
stdcall external 'io.dll' - procedure TForm1.Button1Click(Sender TObject)
- begin
- PortOut(888,1)
- end
46Delphi Input
- function PortIn(PortWord)Byte stdcall
external 'io.dll' - procedure TForm1.Button3Click(Sender TObject)
- var
- InValue Byte
- begin
- InValue PortIn(889)
- label1.Caption IntToStr(InValue)
- end
47Delphi Delay Procedure
- procedure xSleep(milliseconds LongInt) var
iTemp Longint - Begin
- iTemp GetTickCount milliseconds
- while GetTickCount lt iTemp
- do Application.ProcessMessages
- End
48Assembler Output
- MOV DX,0378H
- MOV AL,n
- OUT DX,AL
- Where n is the value you want to output.
49Resources
50Web Resources
- http//www.epanorama.net/circuits/parallel_output.
html - http//www.lvr.com/jansfaq.htm
- http//www.doc.ic.ac.uk/ih/doc/par/
- http//www.southwest.com.au/jfuller/delphi/delphi
1.htm
51Textbook References
- Computer Engineering An Activity-Based Approach
(Holt) - Networks, Interfaces and Integrated Circuits
(Holt)
52Q Why can't programmers tell the difference
between Christmas and Halloween?
53Contact Information
- Pete BeensWestlane Secondary SchoolNiagara
Falls, ONL2H1T5905.356.2401 - Web http//www.beens.org
- Email peter_at_beens.org