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 |
---|---|
|
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. |
|
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)