Introduction: Boe Bot Navigates Through a Maze
This instructable will help you create bumpers for the boe bot and it will provide you with the code that will navigate the boe bot through the maze.
Step 1: Materials for the Bumpers.
Here is a list of materials you will need to make the bumpers:
-Cardboard
-Tape
-Wires
-Aluminium foil
-Resistors
-Velcro
Step 2: Building the Bumpers Using the Materials.
What you will want to do first is using the cardboard make flaps and glue pieces of cardboard together to make a stack. Now, tape pieces of aluminium on the the flaps made from cardboard. There will be four pieces of aluminium foil that will be taped inside the flaps on each side. Now attach the flaps to the cardboard stack using glue. Next, attach the flat backside of the cardboard stack to the front of the boe bot using Velcro. Finally, attach the positive and negative wires to the aluminium foil on the flaps. Congratulations, you have now finished making the bumpers.
Step 3: The Circuit.
The circuit is very simple and easy to make. Take a look at the picture and create the circuit on your Boe bot.
Step 4: The Code.
Here is the code for the boe bot. ' {$STAMP BS2}
' {$PBASIC 2.5} 'I/O Pins
'Mankaran Kaler 'Mr.Birch 'Maze robot program 'Program to navigate the boebot through any maze
'----------varibles--------- LMotor PIN 14 RMotor PIN 15
loopX VAR Word
LFF CON 850 RFF CON 650 Lstop CON 750 Rstop CON 750 LRF CON 650 RRF CON 850
temp VAR Byte 'temporary store RunStatus DATA $00 'variable stored in ROM
'READ RunStatus, temp 'Read the variable from ROM 'temp = ~temp 'invert the value 0 to 1 or 1 to 0 'WRITE RunStatus, temp 'Write the variable back to ROM 'IF (temp>0) THEN END 'Check if the value is 1 ' if so END the program
right VAR Word fast VAR Word '----------actions--------------- DO GOSUB ForwardFast DEBUG ? IN10 IF IN10=0 THEN HIGH 0 GOSUB LeftTurn ELSE LOW 0 ENDIF
DEBUG ? IN11 IF IN11=0 THEN HIGH 1 GOSUB RightTurn ELSE LOW 1 ENDIF DEBUG CLS
LOOP '-------------directions------------
LeftTurn: FOR right = 1 TO 120 PULSOUT LMotor, LRF PULSOUT RMotor, RFF NEXT RETURN
RightTurn: FOR loopX = 1 TO 120 PULSOUT LMotor, LFF PULSOUT RMotor, RRF NEXT RETURN
ForwardFast: FOR fast = 1 TO 300 PULSOUT LMotor, LFF PULSOUT RMotor, RFF NEXT RETURN