Bumper#

Introduction#

The Bumper is a mechanical switch that completes a circuit when pressed, allowing the robot to detect presses and releases.

Below is a list of all available methods:

Getters – Check if the Bumper Sensor is currently pressed.

  • pressed – Returns whether the Bumper Sensor is being pressed.

Callback – Run code when the bumper is pressed or released.

  • on_pressed – Calls a function when the Bumper Sensor is pressed.

  • on_released – Calls a function when the Bumper Sensor is released.

Getters#

pressed#

pressed returns a boolean indicating whether or not the bumper was pressed.

  • True – The Bumper Sensor is being pressed.

  • False – The Bumper Sensor is not being pressed.

Usage:
bumper.pressed()

Parameters

Description

This method has no parameters.

def main():
    # Stop when the Left Bumper is pressed
    drivetrain.drive(FORWARD)
    while True:
        if left_bumper.pressed():
            drivetrain.stop()
        wait(5, MSEC)

# VR threads — Do not delete
vr_thread(main)

Callback#

on_pressed#

on_pressed registers a function to be called when the Bumper Sensor is pressed.

Usage:
bumper.on_pressed(callback)

Parameters

Description

callback

A function that is previously defined to execute when the Bumper Sensor is being pressed.

def bumper_pressed():
    # Reverse when the bumper is pressed
    drivetrain.drive_for(REVERSE, 100, MM)
    drivetrain.stop()

def main():
    # Drive forward until the left bumper is pressed
    drivetrain.drive(FORWARD)
    left_bumper.on_pressed(bumper_pressed)

# VR threads — Do not delete
vr_thread(main)

on_released#

on_released registers a function to be called when the Bumper Sensor is released.

Usage:
bumper.on_released(callback)

Parameters

Description

callback

A function that is previously defined to execute when the Bumper Sensor is being released.

def bumper_released():
    # Display a message
    brain.print("Bumper released!")

def main():
    # Hit and back away from an object
    left_bumper.on_released(bumper_released)
    drivetrain.drive_for(FORWARD, 600, MM)
    drivetrain.drive_for(REVERSE, 100, MM)

# VR threads — Do not delete
vr_thread(main)