28125 Parallax Inc, 28125 Datasheet - Page 192

TEXT ROBOTICS

28125

Manufacturer Part Number
28125
Description
TEXT ROBOTICS
Manufacturer
Parallax Inc
Datasheet

Specifications of 28125

Title
Robotics with the Boe-Bot
Product
Microcontroller Accessories
Lead Free Status / RoHS Status
Not applicable / Not applicable
Programming the Boe-Bot to Navigate Based on Whisker Inputs
This next program makes the Boe-Bot go forward until it encounters an obstacle. In this
case, the Boe-Bot knows when it encounters an obstacle by bumping into it with one or
both of its whiskers. As soon as the obstacle is detected by the whiskers, the navigation
routines and subroutines developed in Chapter 4 will make the Boe-Bot back up and turn.
Then, the Boe-Bot resumes forward motion until it bumps into another obstacle.
In order to do that, the Boe-Bot needs to be programmed to make decisions. PBASIC has
a command called an
statements is:
The “…” means you can place a code block (one or more commands) between the
keywords. The next example program makes decisions based on the whisker inputs, and
then calls subroutines to make the Boe-Bot take action. The subroutines are similar to the
ones you developed in Chapter 4. Here is how
Example Program: RoamingWithWhiskers.bs2
This program demonstrates one way of evaluating the whisker inputs and deciding which
navigation subroutine to call using
IF (condition) THEN…{ELSEIF (condition)}…{ELSE}…ENDIF
IF (IN5
ELSEIF (IN5
ELSEIF (IN7
ELSE
ENDIF
Reconnect power to your board and servos.
Enter, save, and run RoamingWithWhiskers.bs2.
GOSUB Back_Up
GOSUB Turn_Left
GOSUB Turn_Left
GOSUB Back_Up
GOSUB Turn_Right
GOSUB Back_Up
GOSUB Turn_Left
GOSUB Forward_Pulse
= 0) AND (IN7 = 0) THEN
IF…THEN
= 0) THEN
= 0) THEN
statement that makes decisions. The syntax for
IF…THEN
.
IF…THEN
' Both whiskers detect obstacle,
' back up & U-turn (left twice)
' Left whisker contacts
' Back up & turn right
' Right whisker contacts
' Back up & turn left
' Both whiskers 1, no contacts
' Apply a forward pulse &
' check again
is used.
IF…THEN

Related parts for 28125