beautypg.com

Program 8, Program 9, Program 10 – SRS Labs SRS Robot Level 1 Kit User Manual

Page 30: Program 11, Program 12

background image

Sample

Programs

Program 8

Purpose: Learn to use the Timer/Counter for timing. This program flashes a LED at a specific rate while reading

sensors.

Program: Timer
Extensions:

o Change the flash rate.
o Add more code to the loop, e.g. showing sensor values. Notice that the flashing still maintains its rate, with no

changes necessary.

Challenges:

o Modify your EEPROM program to use the timer instead of WaitMs when showing sensor readings.
o Read sensors for 10 milliseconds and calculate the average value.

Program 9

Purpose: Learn how to use proportional steering to follow a line.
Program: LineFollow
Extension: Tune values for your robot. Adjust the light thresholds (use ADCPrint to see sensor values). Adjust the

scaling proportion for steering.

Challenge: Go faster without falling off the line.

Program 10

Purpose: This program shows how to implement the states involved in detecting and identifying a junction. It will

determine which options are available (left, right, forward), then stop.

Program: Junction
Extension: Tune values for your robot.
Challenges:

o Detect end of maze (solid 6” diameter black circle).
o Use sensor sample averaging -- take several readings and use their average when making decisions.
o Save light sensor thresholds in EEPROM.

Program 11

Purpose: This program shows how to implement the states involved in turning at a junction.
Program: Turn
Extension: Tune values for your robot.
Challenge: Go faster!

Program 12

Purpose: This program shows how to use a table to store a sequence of control commands for the robot. It also

demonstrates how to store constant data (the table) in program memory (Flash) instead of the default SRAM.

Program: DeadReckon
Extension: Modify/Add commands to the table.
Challenge: Add another piece of data to the state, e.g. LED on/off.

30

11-3-2005