Acelerómetro#

Inicialización de la clase de acelerómetro#

Un acelerómetro se crea utilizando el siguiente constructor:

Acelerómetro(puerto, sensibilidad)

Este constructor utiliza dos parámetros:

Parámetro

Descripción

puerto

El puerto de 3 cables al que está conectado el acelerómetro, ya sea un puerto en el Cerebro o un Expandedor de 3 cables.

sensibilidad

Opcional. Activa el modo de alta sensibilidad (+/- 2 g) en el acelerómetro. Activar “Verdadero” para activar la alta sensibilidad. La sensibilidad predeterminada es (+/- 6 g).

Primero se debe crear un Cerebro o un Expansor de 3 cables antes de poder usarlos para crear un objeto con el constructor de la clase Acelerómetro.

# Create the Brain.
brain = Brain()
# Construct an Accelerometer "accel" with the
# Accelerometer class.
accel = Accelerometer(brain.three_wire_port.a)

Este objeto accel se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase Acelerómetro.

Para una funcionalidad óptima, se recomienda utilizar acelerómetros separados para cada eje, inicializándolos individualmente:

accel_x = Accelerometer(brain.three_wire_port.a)
accel_y = Accelerometer(brain.three_wire_port.b)
accel_z = Accelerometer(brain.three_wire_port.c)

Métodos de clase#

acceleration()#

El método acceleration() lee el valor del acelerómetro escalado a unidades de gravedad.

Devuelve: Un valor en el rango +/- 6G, o +/-2G si está configurado el modo de alta sensibilidad.

# Drive the robot forward.
drivetrain.drive(FORWARD)

# Get the Accelerometer's acceleration.
value = accel.acceleration()

changed()#

El método changed(callback, arg) registra una función que se llamará cuando cambie el valor del acelerómetro.

Parámetros

Descripción

llamar de vuelta

Una función que se llamará cuando cambie el valor del eje.

arg

Opcional. Una tupla que se utiliza para pasar argumentos a la función de devolución de llamada.

Devuelve: Una instancia de la clase Event.

# Drive the robot forward.
drivetrain.drive(FORWARD)

# Define the function accelerometer_changed.
def accelerometer_changed():
    # The Brain will print that the Accelerometer's value 
    # changed on the Brain's screen.
    brain.screen.print("accelerometer changed")
    
# Run accelerometer_changed when the value of the 
# Accelerometer changes.
accel.changed(accelerometer_changed)