11.07.2015 Views

Builders guide robot pacman.pdf

Builders guide robot pacman.pdf

Builders guide robot pacman.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

else if (calibration_stage == 1){// calibrate nearest acceptable left and farthest acceptable right// (before off-centre adjustment takes effect)MAX_LEFT = 0;MIDDLE_RIGHT = 0;for ( i = 0; i < NUM_AVERAGES; i++ ){output_bit(SENSOR_LED, 1);delay_ms(SENSOR_VALID_DELAY*10);set_adc_channel( OBSTACLE_LEFT );delay_us(10);MAX_LEFT += read_adc();set_adc_channel( OBSTACLE_RIGHT );delay_us(10);MIDDLE_RIGHT += read_adc();}output_bit(SENSOR_LED, 0);MAX_LEFT /= NUM_AVERAGES;MIDDLE_RIGHT /= NUM_AVERAGES;}calibration_stage++;effect)else if (calibration_stage == 2){// calibrate nearest acceptable right (before off-centre adjustment takesMAX_RIGHT = 0;MIDDLE_LEFT = 0;for ( i = 0; i < NUM_AVERAGES; i++ ){output_bit(SENSOR_LED, 1);delay_ms(SENSOR_VALID_DELAY*10);set_adc_channel( OBSTACLE_RIGHT );delay_us(10);MAX_RIGHT += read_adc();set_adc_channel( OBSTACLE_LEFT );delay_us(10);MIDDLE_LEFT += read_adc();}output_bit(SENSOR_LED, 0);MAX_RIGHT /= NUM_AVERAGES;MIDDLE_LEFT /= NUM_AVERAGES;calibration_stage++;}else if (calibration_stage == 3){// calibrate far left (no wall on left sensor)MIN_LEFT = 0;for ( i = 0; i < NUM_AVERAGES; i++ ){output_bit(SENSOR_LED, 1);delay_ms(SENSOR_VALID_DELAY*10);set_adc_channel( OBSTACLE_LEFT );delay_us(10);MIN_LEFT += read_adc();}output_bit(SENSOR_LED, 0);calibration_stage++;}else if (calibration_stage == 4){// calibrate far right (no wall on right sensor)MIN_RIGHT = 0;for ( i = 0; i < NUM_AVERAGES; i++ ){output_bit(SENSOR_LED, 1);delay_ms(SENSOR_VALID_DELAY*10);set_adc_channel( OBSTACLE_RIGHT );delay_us(10);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!