Programming Concepts (Part B) : Engr 10 Introduction To Engineering
Programming Concepts (Part B) : Engr 10 Introduction To Engineering
Concepts
(Part B)
ENGR 10
Introduction to Engineering
Review Question: What are the
values of A and B at end of this
A = 10 ;
program?
B = 12 ;
if ((A + B) < 22)
{ B=A; (A) A=12, B=22
A = B; }
else (B) A=12, B=10
{ A = B; (C) A= 10, B=10
B = A + B; }
(D) A=12, B=24
(E) A=10, B=22
Functions
• A function is a way to organize the
program so that:
– frequently used sets of instructions or
– a set of instructions that has a specific purpose
are efficiently represented in the main
program.
8! result = factorial(8);
Functions
Q) What is a function?
• A function is just a name given to represent a set
of instructions (routine).
• Whenever we want to use that routine, we just
use the name instead of repeating the entire set
of instructions.
Function
mar gor P ni a M
Introduction to Local
Variable
• The MAX_Three function finds the greatest of the
three numbers A, B and C.
Defined Function
A Task of
B the Z
function
C
Local Variable Concept
Main Function
Defined Function
A x Task of
B b the h Z
function
C k
Review Question #2
A local variable is known only to the
function in which it is defined:
A. True
B. False
Interfacing
Interface
Motor
• Robot movement made possible by the use
of motors.
• The robot has two motors, one controlling
each side of the robot.
• This combination is enough to perform any
of the basic movements.
• The motors can be rotated either clockwise
or counter-clockwise, controlling the overall
motion of the robot.
This chart
describes the
combination of
the motor
movement
required to
perform each
maneuver
How to move a motor?
• Use the following statement to move
a motor
SetMotor ( 2 , 255 );
1
0
Counter Clockwise high
speed
How to connect the motor
to the Controller?
• On the VEX controller you have several ports
available so that you can connect not only
motors but also other devices and sensors to
it.
PORT:
• A port is a specific place on the board where
we can connect other external devices, so
that the two devices in connection can
exchange information or data.
Program to move the robot
forward
• Now let us write a program to make the
robot move forward for 2 seconds and
then stop.
Assume:
Left Motor – connected to motor
port 3
Right Motor – connected to motor
port 2
Program to make the motor
move forward for 2 seconds
and then stop
Review Question #3
What value of x will cause the motor to
be stopped: SetMotor(2, x)?
A. 255
B. 127
C. 0
D. -127
E. -255
Servos
• Servo units are similar to motors except that
they control position rather than speed.
• Servo units have limited range of motion
(about 120o)
• A value between 0 and 255 sets the
direction of the servo.
0 – Extreme clockwise direction
127 – No movement
255 – Extreme counter-clockwise
direction
Graphical representation of
the direction of rotation of
the Servo
0o clo
er- e c kw
t
oun e 12 is
C
kwis 7
c
cl o
- 60
o
60o 0
25
5
Servo
• Similar to the motor the following
statement is used to set the servo to
turn to a direction.
SetServo ( 5 , 64 );
se clo
w i ck
l ock 0o
wi
e r-c se
t
oun 12
30
C 7
o
64
- 60
0
60o 0
25
5
SetServo (5 , 191)
i s e
k w clo
oc c
r- cl 0o kw
u nte is e
Co -
12
30o
7
191
- 60
o
60o 0
25
5
Program showing how to
move the servo
continuously
Output of the above
program
i s e clo
w
-cl o ck 0o ck
wi
er se
u nt
Co -
127 30
30o o
191 6
4
- 60
o
60o 0
255
Introduction to Logic Signals
• A logic signal can take on either 0v or 5v
Bumper = GetDigitalInput
( 2 );
A variable into This indicates the port
which the status number to which the
of the bumper bumper switch is
switch will be connected
stored.
Limit Switch
light = GetAnalogInput ( 1 ) ;
A variable named Indicates the port
“light” into which number (here port 1) to
the reading (0- which the light sensor is
1023) from the light connected
sensor is stored
Program to make the robot move
towards the moving light source
Digital
Input
Output port
Interrupt
Output
port
StartUltrasonic ( 1, 8 ) ;
Range = GetUltrasonic ( 1
, 8 );
Interrupt port #1 The sensor is
Variable into
to which the connected to
which the
sensor is output port #
translated
connected 8 on the
value is stored
controller
Program to stop the forward
moving robot when a nearing
object is detected
Setting the robot to
move forward
StartEncoder ( 2 ) ;
Count = GetEncoder ( 2 ) ;
A variable named “count” Interrupt port # 2 to
into which the present which the Encoder is
count value will be stored connected
PresetEncoder ( 2, 25) ;
This statement is used to make the encoder
start counting from a given number (here 25)
instead of from zero.
Example
Write a program to make the robot move
for 1 meter and then stop.
Assume 5 turns of the wheel = 1 meter
Program to make the robot
move forward for 1 meter