Este sensor es un interruptor. Le dice al robot si su parachoques está presionado (valor del sensor de 1) o liberado (valor del sensor de 0).
Cómo funciona el interruptor de parachoques: completar el circuito
El interruptor de parachoques VEX IQ se basa probablemente en el dispositivo eléctrico más utilizado: el interruptor. Un interruptor consta de dos terminales (lugares para conectar un cable) y un puente de cable para "hacer" la conexión cuando se presiona el interruptor. Como se muestra en esta animación, cuando presionas el cable de conexión "completas" el circuito, ¡y el Robot Brain lo registra en tu programa!
Básicamente, el interruptor de parachoques es una parte de un circuito que está desconectado o roto. Al presionar el interruptor del parachoques, se realiza la conexión y se permite que fluya la electricidad.
Usos comunes del interruptor de parachoques
- Este sensor puede desencadenar una acción del robot cuando se presiona o suelta.
- Este sensor se puede utilizar como un interruptor para encender y apagar los motores cuando se presiona, como se muestra en la siguiente animación.
- Este sensor puede detectar paredes u objetos cuando el parachoques se topa con ellos, como se muestra en la siguiente animación.
- El sensor puede detectar otras partes del robot, como un brazo, cuando presiona el parachoques.
Usos del interruptor de parachoques en un robot de competición
- Mientras está en modo autónomo, se puede usar un interruptor de parachoques para que su robot espere para llevar a cabo una determinada acción hasta que sea presionado por algún tipo de objeto.
- El interruptor de parachoques puede detectar cuándo entra en contacto con una superficie como una pared perimetral o un objeto como una pieza de juego.
- Se pueden utilizar dos interruptores de parachoques, por ejemplo, en la parte frontal y lateral del robot, para que el robot pueda colocarse en una esquina. Entonces el robot puede navegar con mayor precisión desde esa esquina a otras posiciones en el campo de competencia.
- Puede usar un interruptor de parachoques para que su robot detecte cuándo una parte de él, como su brazo, entra en contacto con otra parte de él, como su chasis.
Uso del interruptor de parachoques en VEXcode IQ
Agregar el interruptor de parachoques como dispositivo en VEXcode IQ
Para codificar el interruptor de parachoques en un VEXcode IQ, primero debe configurar el interruptor de parachoques. Consulta este artículo para obtener más información sobre la configuración de un sensor en VEXcode IQ.
Una vez configurado el Bumper Switch, aparecerán comandos en el Toolbox que podrás utilizar en tu proyecto.
Codificación del interruptor de parachoques en bloques
El <Pressing bumper> bloque es un bloque reportero booleano que informa una condición como verdadera o falsa. Los bloques booleanos, como el <Pressing bumper> bloque, encajan dentro de bloques con entradas hexagonales (de seis lados) para otros bloques.
El bloque <Pressing bumper> booleano informa 'verdadero' si se presiona el parachoques y 'falso' si se libera o no se presiona el parachoques. Para obtener más información sobre los bloques booleanos, visita la Ayuda o el artículo Formas y significado de los bloques.
En este ejemplo, el <Pressing bumper> bloque se utiliza con un bloque [Esperar hasta] para hacer que el robot avance hasta que se presione el interruptor del parachoques, como se muestra en los videos anteriores.
Codificación del interruptor de parachoques en Python
Nota: Para codificar un interruptor de parachoques VEX IQ (1ª generación) en Python, debe estar conectado a un cerebro VEX IQ (2ª generación). El cerebro VEX IQ (1ª generación) no es compatible con Python.
bumper_1.pressing()
El comando bumper.pressing informa un valor booleano de verdadero o falso sobre el interruptor de parachoques.
El comando bumper.pressing informa 'true' si se presiona el parachoques y 'false' si se libera o no se presiona el parachoques.
Nota: El nombre del Bumper Switch que aparece en el comando corresponde al nombre que se le da en la configuración.
drivetrain.drive(FORWARD)
while not bumper_1.pressing():
wait(20, MSEC)
drivetrain.stop()
En este ejemplo, se utiliza un bucle While con una condición not con el comando bumper.pressing para hacer que el robot avance hasta que se presione el Bumper Switch, como se muestra en los videos anteriores.