Detección#
Detección cerebral#
Reiniciar temporizador#
El bloque Restablecer temporizador se utiliza para restablecer el temporizador del cerebro EXP.
temporizador en segundos
El temporizador del cerebro comienza al inicio de cada proyecto. El bloque de reinicio del temporizador se utiliza para reiniciarlo a 0 segundos.
En este ejemplo, el cerebro imprimirá la hora actual después de esperar 2 segundos antes de reiniciar su temporizador.
cuando empezó :: hat events
esperar (2) segundos
imprimir (temporizador en segundos) en [Brain v] ◀ y coloque el cursor en la siguiente fila
reiniciar el temporizador
imprimir (temporizador en segundos) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Valor del temporizador#
El bloque Valor del temporizador se utiliza para informar el valor del temporizador del cerebro EXP en segundos.
temporizador en segundos
El temporizador comienza en 0 segundos cuando se inicia el programa e informa el valor del temporizador como un valor decimal.
En este ejemplo, el cerebro imprimirá la hora actual después de esperar 2 segundos antes de reiniciar su temporizador.
cuando empezó :: hat events
esperar (2) segundos
imprimir (temporizador en segundos) en [Brain v] ◀ y coloque el cursor en la siguiente fila
reiniciar el temporizador
imprimir (temporizador en segundos) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Columna del cursor#
El bloque Columna del cursor se utiliza para informar el número de columna de la ubicación del cursor de la pantalla del EXP Brain.
columna del cursor
El bloque Columna del cursor informará un valor de 1 a 80 y comenzará en la columna 1 al inicio de un proyecto.
En este ejemplo, el Cerebro moverá el cursor a (3, 7) y luego imprimirá la columna actual (7) en la pantalla del Cerebro.
cuando empezó :: hat events
Coloque el cursor en la fila (3) columna (7) en Brain
imprimir (columna del cursor) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Fila del cursor#
El bloque Fila del cursor se utiliza para informar el número de fila de la ubicación del cursor de la pantalla del EXP Brain.
fila del cursor
El bloque Columna del cursor informará un valor del 1 al 9 y comenzará en la fila 1 al inicio de un proyecto.
En este ejemplo, el Cerebro moverá el cursor a (3, 7) y luego imprimirá la fila actual (3) en la pantalla del Cerebro.
cuando empezó :: hat events
Coloque el cursor en la fila (3) columna (7) en Brain
imprimir (fila del cursor) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Voltaje de la batería#
El bloque Voltaje de la batería se utiliza para informar el voltaje de la batería del EXP Brain.
(voltaje de la batería en voltios)
El bloque Voltaje de la batería informa un rango de 6 voltios a 9 voltios.
En este ejemplo, el Cerebro imprimirá el voltaje actual de la batería en la pantalla del Cerebro.
cuando empezó :: hat events
imprimir (voltaje de la batería en voltios) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Corriente de la batería#
El bloque Corriente de la batería se utiliza para informar la corriente de la batería del EXP Brain.
(corriente de la batería en amperios)
El bloque Corriente de batería informa un rango de 0,0 amperios a 15,0 amperios.
En este ejemplo, el Cerebro imprimirá la corriente actual de la batería en la pantalla del Cerebro.
cuando empezó :: hat events
imprimir (corriente de la batería en amperios) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Capacidad de la batería#
El bloque Capacidad de la batería se utiliza para informar el nivel de carga de la batería del EXP Brain.
(capacidad de la batería en %)
El bloque Capacidad de la batería informa un rango de 0% a 100%.
En este ejemplo, el Cerebro imprimirá la carga actual de la batería en la pantalla del Cerebro.
cuando empezó :: hat events
imprimir (capacidad de la batería en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección del controlador#
Controlador presionado#
El bloque Controlador presionado se utiliza para informar si se presiona un botón en el controlador EXP.
<[Controller 1 v] [Arriba v] presionado?>
El bloque Controlador presionado informa Verdadero
cuando se presiona el botón del Controlador seleccionado.
El bloque Controlador presionado informa Falso
cuando el botón del Controlador seleccionado no está presionado.
Elige qué botón del controlador utilizar.
En este ejemplo, el cerebro imprimirá un mensaje en su pantalla la primera vez que se presione el botón A del controlador.
cuando empezó :: hat events
[Don't do anything until the X button is pressed.]
esperar hasta <[Controller 1 v] [X v] presionado?>
imprimir [The X button was pressed.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Puesto de controlador#
El bloque Posición del controlador se utiliza para informar la posición de un joystick en el controlador EXP a lo largo de un eje.
(Posición [1 v] del controlador)
El bloque Posición del controlador informa un rango de -100 a 100.
El bloque Posición del controlador informa 0 cuando el eje del joystick está centrado.
Elige el eje del joystick.
En este ejemplo, el cerebro imprimirá el eje de los joysticks del controlador EXP.
cuando empezó :: hat events
imprimir (Posición [3 v] del controlador) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Habilitar/deshabilitar el controlador#
El bloque Habilitar/Deshabilitar controlador se utiliza para habilitar o deshabilitar las acciones configuradas del controlador desde el menú Dispositivos.
Controlador [Disable v]
Elija habilitar o deshabilitar las acciones del controlador configuradas. De forma predeterminada, el controlador está habilitado en todos los proyectos.
En este ejemplo, el controlador se deshabilitará al inicio del proyecto y se habilitará nuevamente después de que el tren motriz se haya movido 6 pulgadas hacia adelante.
cuando empezó :: hat events
Controlador [Disable v]
unidad [adelante v] para (6) [pulgadas v] ▶
Controlador [Enable v]
Detección de motor#
¿El motor está listo?#
El bloque ¿El motor está listo? se utiliza para informar si el motor inteligente EXP o el grupo de motores seleccionado ha completado su movimiento.
<[ClawMotor v] ¿está hecho?>
El bloque ¿El motor está listo? informa Verdadero
cuando el motor o el grupo de motores seleccionado ha completado su movimiento.
El bloque ¿El motor está listo? informa Falso
cuando el motor o el grupo de motores seleccionado aún está en movimiento.
Elija qué motor o grupo de motores utilizar.
¿El motor está girando?#
El bloque ¿El motor está girando? se utiliza para informar si el motor inteligente EXP o el grupo de motores seleccionado se está moviendo actualmente.
<[ClawMotor v] esta girando?>
El bloque ¿El motor está girando? informa Verdadero
cuando el motor o el grupo de motores seleccionado se está moviendo.
El bloque ¿El motor está girando? informa Falso
cuando el motor o el grupo de motores seleccionado no se mueve.
Elija qué motor o grupo de motores utilizar.
Posición del motor#
El bloque Posición del motor se utiliza para informar la distancia que ha recorrido un motor inteligente EXP o el primer motor de un grupo de motores.
([Motor 3 v] posición en [grados v] :: custom-sensing)
Elija qué motor o grupo de motores utilizar.
Seleccione las unidades en las que desea informar, grados o vueltas.
En este ejemplo, el motor girará hacia adelante durante 1 segundo antes de que su posición actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Spin Motor3 forward for 1 second.]
girar [Motor 3 v] [adelante v]
esperar (1) segundos
[Print Motor3's current position after 1 second.]
imprimir ([Motor 3 v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Velocidad del motor#
El bloque Velocidad del motor se utiliza para informar la velocidad actual de un motor inteligente EXP o del primer motor de un grupo de motores.
([Motor 3 v] velocidad en [% v])
El bloque Velocidad del motor informa un rango de -100% a 100% o -600 rpm a 600 rpm.
Elija qué motor o grupo de motores utilizar.
Seleccione las unidades en las que desea informar, porcentaje (%) o rpm.
En este ejemplo, el motor girará hacia adelante durante 1 segundo antes de que su velocidad actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Spin Motor3 forward for 1 second.]
girar [Motor 3 v] [adelante v]
esperar (1) segundos
[Print Motor3's current velocity after 1 second.]
imprimir ([Motor 3 v] velocidad en [% v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Corriente del motor#
El bloque Corriente del motor se utiliza para informar la cantidad de corriente que consume un motor inteligente EXP o un grupo de motores en amperios (amps).
([Motor 3 v] corriente en amperios)
Elija qué motor o grupo de motores utilizar.
En este ejemplo, el motor girará hacia adelante durante 1 segundo antes de que su corriente se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Spin Motor3 forward for 1 second.]
girar [Motor 3 v] [adelante v]
esperar (1) segundos
[Print Motor3's current after 1 second.]
imprimir ([Motor 3 v] corriente en amperios) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Potencia del motor#
El bloque Potencia del motor se utiliza para informar la cantidad de potencia de salida que un motor inteligente EXP o el primer motor de un grupo de motores está generando actualmente.
([Motor 3 v] potencia en vatios)
Elija qué motor o grupo de motores utilizar.
En este ejemplo, el motor girará hacia adelante durante 1 segundo antes de que su potencia actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Spin Motor3 forward for 1 second.]
girar [Motor 3 v] [adelante v]
esperar (1) segundos
[Print Motor3's current power after 1 second.]
imprimir ([Motor 3 v] potencia en vatios) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Par motor#
El bloque Torque del motor se utiliza para informar la cantidad de torque (fuerza rotacional) que un motor inteligente EXP o el primer motor de un grupo de motores está utilizando actualmente.
([Motor 3 v] par en [Nm v])
El bloque Torque del motor informa un rango de 0,0 a 18,6 pulgadas-libras (InLB) o de 0,0 a 2,1 Newton-metros (Nm).
Elija qué motor o grupo de motores utilizar.
Seleccione las unidades en las que desea informar, Nm o InLb.
En este ejemplo, el motor girará hacia adelante durante 1 segundo antes de que su torque actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Spin Motor3 forward for 1 second.]
girar [Motor 3 v] [adelante v]
esperar (1) segundos
[Print Motor3's current torque after 1 second.]
imprimir ([Motor 3 v] par en [Nm v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Eficiencia del motor#
El bloque Eficiencia del motor se utiliza para informar la eficiencia de un motor inteligente EXP o del primer motor de un grupo de motores.
([Motor 3 v] eficiencia en %)
El bloque Eficiencia del motor informa un rango de 0% a 100%, determinado por el valor de la potencia (en vatios) que utiliza el motor (entrada), versus la cantidad de potencia (en vatios) que proporciona el motor (salida).
Un motor o grupo de motores inteligente EXP normalmente alcanza una eficiencia máxima del 65 % en casos de uso normales.
Elija qué motor o grupo de motores utilizar.
En este ejemplo, el motor girará hacia adelante durante 1 segundo antes de que su eficiencia actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Spin Motor3 forward for 1 second.]
girar [Motor 3 v] [adelante v]
esperar (1) segundos
[Print Motor3's current efficiency after 1 second.]
imprimir ([Motor 3 v] eficiencia en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Temperatura del motor#
El bloque Temperatura del motor se utiliza para informar la temperatura de un motor inteligente EXP o del primer motor de un grupo de motores.
([Motor 3 v] temperatura en %)
El bloque Temperatura del motor informa un rango de 0% a 100%.
Elija qué motor o grupo de motores utilizar.
En este ejemplo, el motor girará hacia adelante durante 1 segundo antes de que su temperatura actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Spin Motor3 forward for 1 second.]
girar [Motor 3 v] [adelante v]
esperar (1) segundos
[Print Motor3's current temperature after 1 second.]
imprimir ([Motor 3 v] temperatura en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección del tren motriz#
¿La unidad está lista?#
El bloque ¿La unidad está lista? se utiliza para informar si el tren motriz ha completado su movimiento.
<¿La unidad está lista?>
El bloque ¿La unidad está lista? informa Verdadero
cuando los motores del tren motriz han completado su movimiento.
El bloque ¿La unidad está lista? informa Falso
cuando los motores del sDrivetrain aún están en movimiento.
¿La unidad se está moviendo?#
El bloque ¿La unidad se está moviendo? se utiliza para informar si el tren motriz se está moviendo actualmente.
<¿La unidad se está moviendo?>
El bloque ¿La unidad se está moviendo? informa Verdadero
cuando los motores del tren motriz se están moviendo.
El bloque ¿La unidad se está moviendo? informa Falso
cuando los motores del sDrivetrain no se están moviendo.
Dirección de la unidad#
El bloque Drive Heading se utiliza para informar la dirección en la que se orienta el tren motriz mediante la posición angular actual del sensor inercial.
(rumbo de la unidad en grados)
El bloque Drive Heading informa un rango de 0,0 a 359,99 grados.
En este ejemplo, el tren motriz girará hacia la derecha durante 1 segundo antes de que su rumbo actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Turn towards the right for 1 second.]
turno [derecha v]
esperar (1) segundos
[Print Drivetrain's current heading after 1 second.]
imprimir (rumbo de la unidad en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Rotación de la unidad#
El bloque Rotación de transmisión se utiliza para informar el ángulo de rotación del tren motriz.
(rotación de la unidad en grados)
Una dirección en el sentido de las agujas del reloj se informa como un valor positivo y un valor en el sentido contrario a las agujas del reloj se informa como un valor negativo.
En este ejemplo, el tren motriz girará hacia la izquierda durante 1 segundo antes de que su rotación actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Turn towards the left for 1 second.]
turno [izquierda v]
esperar (1) segundos
[Print Drivetrain's current rotation after 1 second.]
imprimir (rotación de la unidad en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Velocidad de conducción#
El bloque Velocidad de transmisión se utiliza para informar la velocidad actual del tren motriz.
(velocidad de accionamiento en [% v])
El bloque Velocidad de conducción informa un rango de -100% a 100% o de -600 rpm a 600 rpm.
Seleccione las unidades en las que desea informar, porcentaje (%) o rpm.
En este ejemplo, el tren motriz avanzará durante 1 segundo antes de que su velocidad actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print Drivetrain's current velocity after 1 second.]
imprimir (velocidad de accionamiento en [% v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Corriente de accionamiento#
El bloque Corriente de accionamiento se utiliza para informar la cantidad de corriente (potencia) que el tren motriz está utilizando actualmente.
(amperios de corriente de accionamiento)
En este ejemplo, el tren motriz avanzará durante 1 segundo antes de que su corriente se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print Drivetrain's current after 1 second.]
imprimir (amperios de corriente de accionamiento) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Potencia de accionamiento#
El bloque Drive Power se utiliza para informar la cantidad de potencia de salida que el tren motriz está generando actualmente.
(potencia de accionamiento en vatios)
En este ejemplo, el sistema de transmisión avanzará durante 1 segundo antes de que su potencia actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print Drivetrain's current power after 1 second.]
imprimir (potencia de accionamiento en vatios) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Par de accionamiento#
El bloque Drive Torque se utiliza para informar la cantidad de torque (fuerza rotacional) que el tren motriz está utilizando actualmente.
(par de accionamiento en [Nm v])
El bloque Drive Torque informa un rango de 0,0 a 18,6 pulgadas-libras (InLB) o de 0,0 a 2,1 Newton-metros (Nm).
Seleccione las unidades en las que desea informar, Nm o InLb.
En este ejemplo, el sistema de transmisión se moverá hacia adelante durante 1 segundo antes de que su torque actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print Drivetrain's current torque after 1 second.]
imprimir (par de accionamiento en [Nm v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Impulsar la eficiencia#
El bloque Eficiencia de transmisión se utiliza para informar la eficiencia del tren motriz.
(eficiencia del variador en %)
El bloque Eficiencia de unidad informa un rango de 0% a 100%, determinado por el valor de la potencia (en vatios) que utiliza el motor (entrada), versus la cantidad de potencia (en vatios) que proporciona el motor (salida).
Un sistema de transmisión EXP normalmente alcanza una eficiencia máxima del 65 % en casos de uso normales.
En este ejemplo, el sistema de transmisión avanzará durante 1 segundo antes de que su eficiencia actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print Drivetrain's current efficiency after 1 second.]
imprimir (eficiencia del variador en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Temperatura de la unidad#
El bloque Temperatura de la unidad se utiliza para informar la temperatura de los motores inteligentes EXP que alimentan el tren motriz.
(temperatura de la unidad en %)
El bloque Temperatura de la unidad informa un rango de 0% a 100%.
En este ejemplo, el sistema de transmisión avanzará durante 1 segundo antes de que su temperatura actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print Drivetrain's current temperature after 1 second.]
imprimir (temperatura de la unidad en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección de parachoques#
Parachoques prensado#
El bloque Parachoques presionado se utiliza para informar si el interruptor de parachoques está presionado.
<[BumperB v] presionado?>
El bloque Parachoques presionado informa Verdadero
cuando se presiona el interruptor de parachoques seleccionado.
El bloque Parachoques presionado informa Falso
cuando el interruptor de parachoques seleccionado no está presionado.
Elige qué interruptor de parachoques utilizar.
En este ejemplo, el cerebro imprimirá un mensaje en su pantalla la primera vez que se presione el interruptor del parachoques.
cuando empezó :: hat events
[Don't print the message until the Bumper Switch is pressed.]
esperar hasta <[BumperB v] presionado?>
imprimir [Bumper Switch was pressed.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección de límites#
Límite presionado#
El bloque Límite presionado se utiliza para informar si el interruptor de límite está presionado.
<[LimitSwitchA v] presionado?>
El bloque Límite presionado informa Verdadero
cuando se presiona el interruptor de límite seleccionado.
El bloque Límite presionado informa Falso
cuando el interruptor de límite seleccionado no está presionado.
Elija qué interruptor de límite utilizar.
En este ejemplo, el cerebro imprimirá un mensaje en su pantalla la primera vez que se presione el interruptor de límite.
cuando empezó :: hat events
[Don't print the message until the Limit Switch is pressed.]
esperar hasta <[LimitSwitchA v] presionado?>
imprimir [Limit Switch was pressed.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección giroscópica#
Calibrar#
El bloque Calibrar se utiliza para calibrar el giroscopio o el sensor inercial y reducir la deriva. Se recomienda utilizar este bloque al inicio del proyecto.
El sensor giroscópico o inercial ajustará automáticamente sus valores dependiendo de la orientación del EXP Brain durante la calibración para que permanezca consistente en todas las posibles orientaciones del EXP Brain.
El cerebro debe permanecer quieto para que el proceso de calibración, que demora aproximadamente 2 segundos, tenga éxito.
calibrar [GyroH v]
Elija qué sensor giroscópico/inercial utilizar.
En este ejemplo, el sensor inercial del cerebro se calibrará durante 2 segundos antes de imprimir la orientación actual del sensor inercial.
cuando empezó :: hat events
calibrar [BrainInertial v]
esperar (2) segundos
imprimir ([BrainInertial v] orientación de [rollo v] en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establecer encabezado#
El bloque Establecer rumbo se utiliza para establecer la posición de rumbo actual del sensor giroscópico/inercial en un valor establecido.
Establecer el rumbo [GyroA v] a (0) grado
El bloque Establecer rumbo acepta un rango de 0,0 a 359,99 grados.
Elija qué sensor giroscópico/inercial utilizar.
En este ejemplo, el sensor inercial del cerebro imprimirá su rumbo inicial, lo establecerá en 90 grados y luego imprimirá el nuevo rumbo.
cuando empezó :: hat events
imprimir ([BrainInertial v] rumbo en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establecer el rumbo [BrainInertial v] a (90) grado
imprimir ([BrainInertial v] rumbo en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Rotación del conjunto#
El bloque Establecer rotación se utiliza para establecer la posición de rotación actual del sensor giroscópico/inercial en un valor establecido.
Establezca la rotación [Inertial 1 v] a (0) grado
El bloque Establecer rotación acepta cualquier número decimal o entero positivo o negativo.
Elija qué sensor giroscópico/inercial utilizar.
En este ejemplo, el sensor inercial del cerebro imprimirá su rotación inicial, establecerá su rotación en -100 grados y luego imprimirá la nueva rotación.
cuando empezó :: hat events
imprimir ([BrainInertial v] rotación en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establezca la rotación [BrainInertial v] a (-100) grado
imprimir ([BrainInertial v] rotación en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Ángulo de rumbo#
El bloque Ángulo de rumbo se utiliza para informar el rumbo actual del sensor giroscópico de 3 cables o del sensor inercial EXP en grados.
([BrainInertial v] rumbo en grados)
El bloque Ángulo de rumbo informa un rango de 0,0 a 359,99 grados.
Elija qué sensor giroscópico/inercial utilizar.
En este ejemplo, el sensor inercial del cerebro imprimirá su rumbo inicial, lo establecerá en 90 grados y luego imprimirá el nuevo rumbo.
cuando empezó :: hat events
imprimir ([BrainInertial v] rumbo en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establezca la rotación [BrainInertial v] a (90) grado
imprimir ([BrainInertial v] rumbo en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Ángulo de rotación#
El bloque Ángulo de rotación se utiliza para informar la rotación actual del sensor giroscópico de 3 cables o del sensor inercial EXP en grados.
([BrainInertial v] rotación en grados)
Una dirección en el sentido de las agujas del reloj se informa como un valor positivo y un valor en el sentido contrario a las agujas del reloj se informa como un valor negativo.
Elija qué sensor giroscópico/inercial utilizar.
En este ejemplo, el sensor inercial del cerebro imprimirá su rotación inicial, establecerá su rotación en -100 grados y luego imprimirá el nuevo rumbo.
cuando empezó :: hat events
imprimir ([BrainInertial v] rotación en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establezca la rotación [BrainInertial v] a (-100) grado
imprimir ([BrainInertial v] rotación en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección inercial#
Aceleración de#
El bloque Aceleración de se utiliza para informar el valor de aceleración de uno de los ejes (x, y o z) en el sensor inercial.
([Inertial 20 v] aceleración de [X v] eje en g)
El bloque Aceleración de informa un rango de -4,0 a 4,0 Gs.
Elija qué sensor giroscópico/inercial utilizar.
Elija qué eje utilizar:
x - El eje X informa la aceleración cuando el sensor inercial se mueve hacia adelante y hacia atrás.
y - El eje Y informa la aceleración cuando el sensor inercial se mueve de lado a lado.
z - El eje Z informa la aceleración cuando el sensor inercial se mueve hacia arriba y hacia abajo.
En este ejemplo, el tren motriz se moverá hacia adelante e imprimirá su aceleración actual en el eje X mientras se mueve.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print the X-axis acceleration while the Drivetrain is moving.]
imprimir ([BrainInertial v] aceleración de [X v] eje en g) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Tasa de giro de#
El bloque Velocidad de giro se utiliza para informar la velocidad de rotación de uno de los ejes (x, y o z) en el sensor inercial.
([Inertial 20 v] velocidad de giro de [X v] eje en dps)
El bloque Gyro Rate of informa un rango de -1000.0 a 1000.0 en dps (grados por segundo).
Elija qué sensor giroscópico/inercial utilizar.
Elija qué eje utilizar:
x - El eje X informa la velocidad de rotación cuando el sensor inercial gira en el eje X (según la orientación del sensor).
y - El eje Y informa la velocidad de rotación cuando el sensor inercial gira en el eje Y (según la orientación del sensor).
z - El eje Z informa la velocidad de rotación cuando el sensor inercial gira en el eje Z (según la orientación del sensor).
En este ejemplo, el tren motriz girará hacia la derecha e imprimirá su velocidad de giro del eje X actual mientras gira.
cuando empezó :: hat events
[Turn towards the right 1 second.]
turno [derecha v]
esperar (1) segundos
[Print the X-axis gyro rate while the Drivetrain is turning.]
imprimir ([Inertial 20 v] velocidad de giro de [X v] eje en dps) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Orientación de#
El bloque Orientación de se utiliza para informar el ángulo de orientación del sensor inercial.
([Inertial 20 v] orientación de [rollo v] en grados)
Elija qué sensor giroscópico/inercial utilizar.
Elija qué orientación utilizar:
roll - El eje Y representa el balanceo, que indica un valor entre -180 y +180 grados.
paso - El eje X representa el paso, que indica un valor entre -90 y +90 grados.
guiñada - El eje Z representa la guiñada, que informa un valor entre -180 y +180 grados.
En este ejemplo, el tren de tracción girará hacia la derecha e imprimirá su guiñada actual mientras gira.
cuando empezó :: hat events
[Turn towards the right for 1 second.]
turno [derecha v]
esperar (1) segundos
[Print the roll while the Drivetrain is turning.]
imprimir ([BrainInertial v] orientación de [rollo v] en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección del codificador#
Establecer la posición del codificador del eje#
El bloque Establecer posición del codificador del eje se utiliza para establecer la posición del codificador del eje en el valor dado.
Establezca la posición [EncoderC v] a (0) grado
Elija qué codificador de eje utilizar.
En este ejemplo, el codificador de eje imprimirá su posición inicial, establecerá su posición a 90 grados y luego imprimirá la nueva posición.
cuando empezó :: hat events
imprimir ([EncoderC v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establezca la posición [EncoderC v] a (90) grado
imprimir ([EncoderC v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Posición del codificador de eje#
El bloque Posición del codificador de eje se utiliza para informar la distancia que ha girado el codificador de eje.
([EncoderC v] posición en [grados v] :: custom-sensing)
Elija qué codificador de eje utilizar.
Seleccione en qué unidad desea informar: grados o vueltas.
En este ejemplo, el codificador de eje imprimirá su posición inicial, establecerá su posición a 90 grados y luego imprimirá la nueva posición.
cuando empezó :: hat events
imprimir ([EncoderC v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establezca la posición [EncoderC v] a (90) grado
imprimir ([EncoderC v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Velocidad del codificador de eje#
El bloque Velocidad del codificador de eje se utiliza para informar la velocidad actual de un codificador de eje.
([EncoderC v] velocidad en [dps v])
Elija qué codificador de eje utilizar.
Seleccione la unidad en la que desea informar: grados por segundo \(dps\) o rotaciones por minuto (rpm).
Detección de distancia#
Distancia del objeto#
El bloque Distancia del objeto se utiliza para informar la distancia del objeto más cercano al sensor de distancia.
([Distance 10 v] distancia del objeto en [mm v])
El bloque Distancia del objeto informa un rango de 20 mm a 2000 mm.
Elija qué sensor de distancia utilizar.
Seleccione en qué unidades desea informar: milímetros (mm) o pulgadas.
En este ejemplo, el sensor de distancia informará la distancia actual entre él y el objeto más cercano.
cuando empezó :: hat events
imprimir ([Distance 10 v] distancia del objeto en [mm v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Velocidad del objeto#
El bloque Velocidad del objeto se utiliza para informar la velocidad actual de un objeto en metros por segundo (m/s).
([Distance 10 v] velocidad del objeto en m/s)
Elija qué sensor de distancia utilizar.
En este ejemplo, el sensor de distancia informará la velocidad actual de un objeto que se mueve frente a él.
cuando empezó :: hat events
imprimir ([Distance 10 v] velocidad del objeto en m/s) en [Brain v] ◀ y coloque el cursor en la siguiente fila
El tamaño del objeto es#
El bloque El tamaño del objeto es se utiliza para informar si el sensor de distancia detecta el tamaño de objeto especificado.
<¿El tamaño del objeto [Distance 10 v] es [pequeño v]?>
El sensor de distancia determina el tamaño del objeto detectado (ninguno, pequeño, mediano, grande) en función de la cantidad de luz reflejada y devuelta al sensor.
El bloque El tamaño del objeto es informa “Verdadero” cuando el sensor de distancia detecta el tamaño especificado.
El bloque El tamaño del objeto es informa “Falso” cuando el sensor de distancia no detecta el tamaño especificado.
Elija qué sensor de distancia utilizar.
Elija el tamaño del objeto que desea que el sensor de objetos verifique.
pequeño
medio
grande
En este ejemplo, si el sensor de distancia detecta un objeto pequeño, avanzará hasta que el objeto sea grande.
cuando empezó :: hat events
[Check if the Distance Sensor sees a small object .]
si <¿El tamaño del objeto [Distance 10 v] es [pequeño v]?> entonces
[If a small object is detected, drive forward.]
unidad [adelante v]
[Wait until the small detected object is large.]
esperar hasta <¿El tamaño del objeto [Distance 10 v] es [grande v]?>
[When the object size is large, stop driving.]
deja de conducir
fin
Sensor de distancia que encontró objeto#
El bloque Objeto encontrado por el sensor de distancia se utiliza para informar si el sensor de distancia ve un objeto dentro de su campo de visión.
<[Distance 10 v] Encontraste un objeto?>
El bloque Objeto encontrado por el sensor de distancia informa “Verdadero” cuando el sensor de distancia detecta un objeto o una superficie dentro de su campo de visión.
El bloque Objeto encontrado por el sensor de distancia informa Falso
cuando el sensor de distancia no detecta un objeto o superficie.
Elija qué sensor de distancia utilizar.
En este ejemplo, cuando el sensor de distancia detecta un objeto, imprimirá un mensaje al cerebro.
cuando empezó :: hat events
[Don't print the message until the Distance Sensor finds an object.]
esperar hasta <[Distance 10 v] Encontraste un objeto?>
imprimir [Distance Sensor has detected an object.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección óptica#
Establecer el modo óptico#
El bloque Establecer modo óptico se utiliza para configurar un sensor óptico para que detecte colores o gestos.
establecer modo [Optical 7 v] a [color v]
De forma predeterminada, el sensor óptico está configurado para detectar siempre los colores. Antes de usar cualquier bloque de gestos del sensor óptico, este debe estar configurado para detectar gestos.
Elija qué sensor óptico utilizar.
Elija si desea configurar el modo del sensor óptico para detectar colores o gestos.
En este ejemplo, el sensor óptico está configurado para detectar gestos antes de esperar hasta que se detecte un gesto hacia la izquierda para imprimir un mensaje.
cuando empezó :: hat events
[Set Optical sensor to detect gestures.]
establecer modo [Optical 7 v] a [gesto v]
[Don't print the message until a left gesture is detected.]
esperar hasta <[Optical 7 v] gesto [izquierda v] detectado?>
imprimir [Left gesture detected.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establecer luz óptica#
El bloque Establecer luz óptica permite activar o desactivar la luz del sensor óptico. Esta luz permite que el sensor óptico detecte objetos si observa un objeto en una zona oscura.
conjunto [Optical 7 v] luz [encendido v]
Elija qué sensor óptico utilizar.
Elija si desea encender o apagar la luz.
En este ejemplo, el sensor óptico encenderá su luz durante dos segundos antes de apagarla.
cuando empezó :: hat events
conjunto [Optical 7 v] luz [encendido v]
esperar (2) segundos
conjunto [Optical 7 v] luz [apagado v]
Establecer la potencia de la luz óptica#
El bloque Establecer potencia de luz óptica se utiliza para configurar la potencia de luz del sensor óptico
Establezca la potencia de luz [Optical 7 v] al (50)%
El bloque Establecer potencia de luz óptica admite un rango de 0 % a 100 %. Esto cambiará el brillo de la luz en el sensor óptico. Si la luz está apagada, este bloque la encenderá.
Elija qué sensor óptico utilizar.
En este ejemplo, la luz de encendido del sensor óptico se establece al 75 % antes de esperar a detectar un objeto para imprimir un mensaje.
cuando empezó :: hat events
[Set the Optical Sensor's light power to 75%]
Establezca la potencia de luz [Optical 7 v] al (75)%
[Don't print the message until an object is detected.]
esperar hasta <[Optical 7 v] Encontraste un objeto?>
imprimir [Object detected.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Objeto encontrado por sensor óptico#
El bloque Objeto encontrado por sensor óptico se utiliza para informar si el sensor óptico detecta un objeto cerca de él.
<[Optical 7 v] Encontraste un objeto?>
El bloque Objeto encontrado por sensor óptico informa “Verdadero” cuando el sensor óptico detecta un objeto cerca de él.
El bloque Objeto encontrado en el sensor óptico informa “Falso” cuando un objeto no está dentro del alcance del sensor óptico.
Elija qué sensor óptico utilizar.
En este ejemplo, la luz de encendido del sensor óptico se establece al 75 % antes de esperar a detectar un objeto para imprimir un mensaje.
cuando empezó :: hat events
[Set the Optical Sensor's light power to 75%.]
Establezca la potencia de luz [Optical 7 v] al (75)%
[Don't print the message until an object is detected.]
esperar hasta <[Optical 7 v] Encontraste un objeto?>
imprimir [Object detected.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
El sensor óptico detecta el color#
El bloque El sensor óptico detecta color se utiliza para informar si el sensor óptico detecta el color especificado.
<[Optical 7 v] detecta [rojo v]?>
El bloque El sensor óptico detecta color informa “Verdadero” cuando el sensor óptico detecta el color especificado.
El bloque El sensor óptico detecta color informa “Falso” cuando el sensor óptico no detecta el color especificado.
Elija qué sensor óptico utilizar.
Elija el color que buscará el sensor óptico.
En este ejemplo, el sensor óptico esperará hasta detectar un objeto azul antes de imprimir un mensaje.
cuando empezó :: hat events
[Don't print the message until the color blue is detected.]
esperar hasta <[Optical 7 v] detecta [azul v]?>
imprimir [Color blue detected.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Brillo óptico#
El bloque Brillo óptico se utiliza para informar la cantidad de luz detectada por el sensor óptico.
([Optical 7 v] brillo en %)
El bloque Brillo óptico informa un valor numérico del 0% al 100%.
Si se detecta una gran cantidad de luz, se informará un valor de brillo alto.
Una pequeña cantidad de luz detectada informará un valor de brillo bajo.
Elija qué sensor óptico utilizar.
En este ejemplo, el sensor óptico imprimirá el valor de brillo actual en la pantalla del cerebro.
cuando empezó :: hat events
imprimir ([Optical 7 v] brillo en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Tono óptico#
El bloque Tono óptico se utiliza para informar el tono del color de un objeto.
([Optical 7 v] tono en grados)
El bloque Tono Óptico reporta un valor numérico que representa el tono de color de un objeto. Devuelve un número entre 0 y 359.
El valor puede considerarse como la ubicación del color en una rueda de colores en grados.
Elija qué sensor óptico utilizar.
En este ejemplo, el sensor óptico imprimirá el tono visto actualmente en la pantalla del cerebro.
cuando empezó :: hat events
imprimir ([Optical 7 v] tono en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
El sensor óptico detecta gestos#
El bloque Sensor óptico detecta gesto se utiliza para informar si un sensor óptico ha detectado el gesto especificado.
<[Optical 7 v] gesto [arriba v] detectado?>
Importante: El sensor óptico primero debe configurarse para detectar gestos usando el bloque Establecer modo óptico, de lo contrario no detectará ningún gesto.
El bloque El sensor óptico detecta un gesto informa “Verdadero” cuando el sensor óptico detecta el gesto especificado.
El bloque El sensor óptico detecta un gesto informa “Falso” cuando el sensor óptico no detecta el gesto especificado.
Elija qué sensor óptico utilizar.
Elija qué gesto comprobará el sensor óptico.
En este ejemplo, el sensor óptico está configurado para detectar gestos antes de esperar hasta que se detecte un gesto hacia la izquierda para imprimir un mensaje.
cuando empezó :: hat events
[Set Optical Sensor to detect gestures.]
establecer modo [Optical 7 v] a [gesto v]
[Don't print the message until a left gesture is detected.]
esperar hasta <[Optical 7 v] gesto [izquierda v] detectado?>
imprimir [Left gesture detected.] en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección de rotación#
Establecer la posición del sensor de rotación#
El bloque Establecer posición del sensor de rotación se utiliza para establecer la posición actual de un sensor de rotación en un valor definido.
Establezca la posición [Rotation 9 v] a (0) grado
El bloque Establecer posición del sensor de rotación acepta cualquier número decimal o entero positivo o negativo.
Elija qué sensor de rotación utilizar.
En este ejemplo, el sensor de rotación imprimirá su posición inicial, establecerá su posición en -100 grados y luego imprimirá la nueva posición.
cuando empezó :: hat events
imprimir ([Rotation 9 v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establezca la posición [Rotation 9 v] a (-100) grado
imprimir ([rotation9 v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Ángulo del sensor de rotación#
El bloque Ángulo del sensor de rotación se utiliza para informar el ángulo de rotación actual del sensor de rotación en grados.
([Rotation 9 v] ángulos en grados)
El bloque Ángulo del sensor de rotación informa valores en el rango de 0,00 a 359,99.
Elija qué sensor de rotación utilizar.
En este ejemplo, el sensor de rotación imprimirá su rotación inicial.
cuando empezó :: hat events
imprimir ([Rotation 9 v] ángulos en grados) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Posición del sensor de rotación#
El bloque Posición del sensor de rotación se utiliza para informar la posición rotacional actual del sensor de rotación seleccionado.
([Rotation 9 v] posición en [grados v] :: custom-sensing)
Elija qué sensor de rotación utilizar.
Elija en qué unidades se informará la posición: grados o vueltas.
En este ejemplo, el sensor de rotación imprimirá su posición inicial, establecerá su posición en -100 grados y luego imprimirá la nueva posición.
cuando empezó :: hat events
imprimir ([Rotation 9 v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Establezca la posición [Rotation 9 v] a (-100) grado
imprimir ([Rotation 9 v] posición en [grados v] :: custom-sensing) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Velocidad del sensor de rotación#
El bloque Velocidad del sensor de rotación se utiliza para informar la velocidad actual de un sensor de rotación.
([Rotation 9 v] velocidad en [rpm v])
Elija qué sensor de rotación utilizar.
Elija en qué unidades se informará la posición: revoluciones por minuto (rpm) o grados por segundo \(dps\).
En este ejemplo, el tren motriz girará a la derecha durante 1 segundo antes de que su velocidad de rotación actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Turn towards the right for 1 second.]
turno [derecha v]
esperar (1) segundos
[Print the correct rotational velocity after 1 second.]
imprimir ([Rotation 9 v] velocidad en [rpm v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección de visión#
tomar una instantánea del sensor de visión#
El bloque tomar instantánea del sensor de visión filtra los datos del marco del sensor de visión. Este puede detectar firmas que incluyen colores y códigos de color configurados.
Los colores y códigos de color deben configurarse primero en Vision Utility antes de poder usarse con este bloque.
El conjunto de datos almacena objetos ordenados de mayor a menor por ancho, comenzando por el elemento 1. Se puede acceder a las propiedades de cada objeto mediante el bloque Propiedad del objeto de visión. Si no se detectan objetos coincidentes, se devuelve un conjunto de datos vacío.
[Vision1 v]una instantánea de [SELECT_A_SIG v]
Parámetro |
Descripción |
---|---|
visión |
El sensor de visión a utilizar, configurado en la ventana Dispositivos. |
firma |
La firma de color o código de color a analizar en la instantánea. |
Ejemplo
cuando empezó :: hat events
[Move forward if a red box is detected.]
para siempre
[Vision1 v]una instantánea de [RED_BOX v]
si <¿Existe [Vision1 v] objeto?> entonces
unidad [adelante v] para [10] [mm v] ▶
Establecer elemento del objeto del sensor de visión#
El bloque establecer elemento de objeto del sensor de visión establece qué elemento del conjunto de datos utilizar.
Establecer el elemento de objeto [Vision1 v] en (1)
Parámetro |
Descripción |
---|---|
visión |
El sensor de visión a utilizar, configurado en la ventana Dispositivos. |
artículo |
El número del elemento en el conjunto de datos que se utilizará. |
Ejemplo
cuando empezó :: hat events
[Display the largest detected red object.]
para siempre
[Vision1 v]una instantánea de [RED_BOX v]
borrar todas las filas en [Brain v]
Coloque el cursor en la fila [1] columna [1] de [Brain v]
si <¿Existe [Vision1 v] objeto?> entonces
Establecer el elemento de objeto [Vision1 v] en (1)
imprimir ([Vision1 v] objeto [amplitud v]) en [Brain v] ▶
fin
esperar [0.5] segundos
Recuento de objetos del sensor de visión#
El bloque Conteo de objetos del sensor de visión devuelve la cantidad de objetos detectados en el conjunto de datos como un entero.
([Vision1 v] recuento de objetos)
Parámetro |
Descripción |
---|---|
visión |
El sensor de visión a utilizar, configurado en la ventana Dispositivos. |
Ejemplo
cuando empezó :: hat events
[Display the amount of red objects.]
para siempre
borrar todas las filas en [Brain v]
Coloque el cursor en la fila [1] columna [1] de [Brain v]
[Vision1 v]una instantánea de [RED_BOX v]
si <¿Existe [Vision1 v] objeto?> entonces
imprimir ([Vision1 v] recuento de objetos) en [Brain v] ▶
fin
esperar [0.5] segundos
¿Existe el objeto del sensor de visión?#
El bloque ¿Existe el objeto del sensor de visión? devuelve un valor booleano que indica si se detecta algún objeto en el conjunto de datos.
Verdadero: el conjunto de datos incluye un objeto detectado.
Falso: el conjunto de datos no incluye ningún objeto detectado.
<¿Existe [Vision1 v] objeto?>
Parámetro |
Descripción |
---|---|
visión |
El sensor de visión a utilizar, configurado en la ventana Dispositivos. |
Ejemplo
cuando empezó :: hat events
[Move forward if a red box is detected.]
para siempre
[Vision1 v]una instantánea de [RED_BOX v]
si <¿Existe [Vision1 v] objeto?> entonces
unidad [adelante v] para [10] [mm v] ▶
Propiedad del objeto Sensor de visión#
Hay cinco propiedades que se incluyen con cada objeto (que se muestran a continuación) almacenado después de que se utiliza el bloque tomar instantánea del sensor de visión.
([Vision1 v] objeto [amplitud v])
Algunos valores de propiedad se basan en la posición del objeto detectado en la vista del sensor de visión al momento de usar el bloque tomar instantánea del sensor de visión. El sensor de visión tiene una resolución de 316 x 212 píxeles.
Parámetro |
Descripción |
---|---|
visión |
El sensor de visión a utilizar, configurado en la ventana Dispositivos. |
propiedad |
¿Qué propiedad del objeto detectado utilizar?: |
ancho#
width devuelve el ancho del objeto detectado en píxeles como un entero de 0 a 316.
([Vision1 v] objeto [amplitud v])
Ejemplo
cuando empezó :: hat events
[Move towards a red object until its width is larger than 100 pixels.]
para siempre
[Vision1 v]una instantánea de [RED_BOX v]
si <¿Existe [Vision1 v] objeto?> entonces
si <([Vision1 v] objeto [amplitud v]) [math_less_than v] [100]> entonces
unidad [adelante v]
fin
demás
deja de conducir
altura#
altura devuelve la altura del objeto detectado en píxeles como un entero de 0 a 212.
([Vision1 v] objeto [altura v])
Ejemplo
cuando empezó :: hat events
[Move towards a red object until its height is larger than 100 pixels.]
para siempre
[Vision1 v]una instantánea de [RED_BOX v]
si <¿Existe [Vision1 v] objeto?> entonces
si <([Vision1 v] objeto [altura v]) [math_less_than v] [100]> entonces
unidad [adelante v]
fin
demás
deja de conducir
centroX#
centerX devuelve la coordenada x del centro del objeto detectado en píxeles como un entero de 0 a 316.
([Vision1 v] objeto [centroX v])
Ejemplo
cuando empezó :: hat events
[Turn slowly until a red object is centered in front of the Vision Sensor.]
establecer la velocidad de giro a [30] [% v]
turno [derecha v]
para siempre
[Vision1 v]una instantánea de [RED_BOX v]
si <¿Existe [Vision1 v] objeto?> entonces
si <<[140] [math_less_than v] ([Vision1 v] objeto [centroX v])> y <([Vision1 v] objeto [centroX v]) [math_less_than v] [180]>> entonces
deja de conducir
centroY#
centerY devuelve la coordenada y del centro del objeto detectado en píxeles como un entero de 0 a 212.
([Vision1 v] objeto [centroY v])
Ejemplo
cuando empezó :: hat events
[Move towards a red object until its center y-coordinate is more than 140 pixels.]
para siempre
[Vision1 v]una instantánea de [RED_BOX v]
si <¿Existe [Vision1 v] objeto?> entonces
si <([Vision1 v] objeto [centroY v]) [math_less_than v] [140]> entonces
unidad [adelante v]
fin
demás
deja de conducir
ángulo#
ángulo devuelve la orientación del código de color detectado como un entero en grados de 0 a 180.
([Vision1 v] objeto [ángulo v])
Ejemplo
cuando empezó :: hat events
[Turn left or right depending on how the Color Code is rotated.]
para siempre
[Vision1 v]una instantánea de [BOX_CODE v]
si <¿Existe [Vision1 v] objeto?> entonces
si <<[70] [math_less_than v] ([Vision1 v] objeto [ángulo v])> y <([Vision1 v] objeto [ángulo v]) [math_less_than v] [110]>> entonces
girar [derecha v] por (45) grado ▶
de lo contrario si <<[250] [math_less_than v] ([Vision1 v] objeto [ángulo v])> y <([Vision1 v] objeto [ángulo v]) [math_less_than v] [290]>> entonces
girar [izquierda v] por (45) grado ▶
demás
deja de conducir
fin
Detección de visión por IA#
The AI Vision Sensor can detect and track objects, colors, and AprilTags. This allows the robot to analyze its surroundings, follow objects, and react based on detected visual data.
Actions#
take snapshot#
The take snapshot block filters data from the AI Vision Sensor frame. The AI Vision Sensor can detect signatures that include pre-trained objects, AprilTags, or configured colors and color codes.
Colors and color codes must be configured first in the AI Vision Utility before they can be used with this block.
The dataset stores objects ordered from largest to smallest by width, starting at index 0. Each object’s properties can be accessed using AI Vision object property block. An empty dataset is returned if no matching objects are detected.
[AIVision 1 v]una instantánea de [SELECT_A_SIG v]
Parámetro |
Descripción |
---|---|
firma |
Filters the dataset to only include data of the given signature. Available signatures are:
|
Note: For AprilTag or AI Classification options to appear, their detection must be enabled in the AI Vision Utility.
Ejemplo
Example coming soon!
Color Codes#
A Color Code is a structured pattern made up of 2 to 4 Color Signatures arranged in a specific order. These codes allow the AI Vision Sensor to recognize predefined patterns of colors.
Color Codes are particularly useful for identifying complex objects, aligning with game elements, or creating unique markers for autonomous navigation. Up to 8 Color Codes can be configured at a time.
Ejemplo
Example coming soon!
Settings#
set AI Vision object item#
The set AI Vision object item block sets which item in the dataset to use.
Establecer el elemento de objeto [AIVision 1 v] en (1)
Parameters |
Descripción |
---|---|
artículo |
El número del elemento en el conjunto de datos que se utilizará. |
Ejemplo
Example coming soon!
Values#
AI Vision object exists?#
The AI Vision object exists block returns a Boolean indicating whether any object is detected in the dataset.
Verdadero: el conjunto de datos incluye un objeto detectado.
Falso: el conjunto de datos no incluye ningún objeto detectado.
<¿Existe [AIVision 1 v] objeto?>
Parameters |
Descripción |
---|---|
This block has no parameters. |
Ejemplo
Example coming soon!
AI Vision object is?#
The AI Vision object is? block returns a Boolean indicating whether a detected object matches a specific classification.
True – The item in the dataset is the specific object.
False – The item in the dataset is not the specific object.
<[AIVision 1 v] objeto es [BlueBall v]?>
Parámetro |
Descripción |
---|---|
object |
Which AI Classification to compare the item to. |
Ejemplo
Example coming soon!
AI Vision object is AprilTag ID?#
The AI Vision object is AprilTag ID? block returns a Boolean indicating whether a detected AprilTag matches a specific ID.
True – The AprilTag ID is the number.
False – The AprilTag ID is not the number.
<[AIVision 1 v] objeto es AprilTag [1]?>
Parameters |
Descripción |
---|---|
AprilTag number |
The number to compare against the detected AprilTag’s ID number. |
Example:
Example coming soon!
AI Vision object count#
The AI Vision object count block returns the number of detected objects in the dataset as an integer.
([AIVision 1 v] recuento de objetos)
Parameters |
Descripción |
---|---|
This block has no parameters. |
Ejemplo
Example coming soon!
AI Vision object property#
There are nine properties that are included with each object (shown below) stored after the take snapshot block is used.
([AIVision 1 v] objeto [amplitud v])
Some property values are based off of the detected object’s position in the AI Vision Sensor’s view at the time that the take snapshot block was used. The AI Vision Sensor has a resolution of 320 by 240 pixels.
Parámetro |
Descripción |
---|---|
propiedad |
Which property of the detected object to use: |
ancho#
width returns the width of the detected object in pixels as an integer from 1 to 320.
([AIVision 1 v] objeto [amplitud v])
Ejemplo
Example coming soon!
altura#
height returns the height of the detected object in pixels as an integer from 1 to 240.
([AIVision 1 v] objeto [altura v])
Ejemplo
Example coming soon!
centroX#
centerX returns the x-coordinate of the center of the detected object in pixels as an integer from 0 to 320.
([AIVision 1 v] objeto [centroX v])
Ejemplo
Example coming soon!
centroY#
centerY returns the y-coordinate of the center of the detected object in pixels as an integer from 0 to 240.
([AIVision 1 v] objeto [centroY v])
Ejemplo
Example coming soon!
ángulo#
angle returns the orientation of the detected Color Code or AprilTag as an integer in degrees from 0 to 359.
([AIVision 1 v] objeto [ángulo v])
Ejemplo
Example coming soon!
originX#
originX returns the x-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 320.
([AIVision 1 v] objeto [origenX v])
Ejemplo
Example coming soon!
originY#
originY returns the y-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 240.
([AIVision 1 v] objeto [origenY v])
Ejemplo
Example coming soon!
tagID#
tagID returns the identification number of the detected AprilTag as an integer.
([AIVision 1 v] objeto [ID de etiqueta v])
Ejemplo
Example coming soon!
score#
score returns how confident the model is in the detected AI Classification as a percentage from 70% to 100%.
([AIVision 1 v] objeto [score v])
Ejemplo
Example coming soon!
Detección del brazo#
¿Puede el brazo de 6 ejes moverse a la posición?#
El bloque ¿Puede el brazo de 6 ejes moverse a la posición? se utiliza para informar si el brazo robótico de 6 ejes puede alcanzar la posición especificada.
<[brazo v] moverse a la posición x:(0) y:(0) z:(0) [mm v]?>
El bloque ¿Puede el brazo de 6 ejes moverse a la posición? informa “Verdadero” cuando el brazo de 6 ejes puede alcanzar esa posición.
El bloque ¿Puede el brazo de 6 ejes moverse a la posición? informa “Falso” cuando el brazo de 6 ejes no puede alcanzar esa posición.
Elija qué brazo de 6 ejes utilizar.
Seleccione qué unidad utilizar: milímetros (mm) o pulgadas.
En este ejemplo, el brazo de 6 ejes verificará si puede moverse a (0, 0, 0) e imprimirá que no puede alcanzar la posición.
cuando empezó :: hat events
si <no <[brazo v] moverse a la posición x:(0) y:(0) z:(0) [mm v]?>> entonces
imprimir [The Arm can't incremental move for this distance.] ▶
fin
¿Puede el brazo de 6 ejes incrementarse para moverse a la posición?#
El bloque ¿Puede el brazo de 6 ejes incrementar el movimiento a la posición? se utiliza para informar si el brazo robótico de 6 ejes puede moverse de manera incremental esa distancia.
cuando empezó :: hat events
<[Arm 2 v] incremento de posición por x:(0) y:(500) z:(0) [mm v]?>
fin
El bloque ¿Puede el brazo de 6 ejes moverse incrementalmente a la posición? informa “Verdadero” cuando el brazo de 6 ejes puede moverse incrementalmente esa distancia.
El bloque ¿Puede el brazo de 6 ejes moverse incrementalmente a la posición? informa “Falso” cuando el brazo de 6 ejes no puede moverse incrementalmente esa distancia.
Elija qué brazo de 6 ejes utilizar.
Seleccione qué unidad utilizar: milímetros (mm) o pulgadas.
En este ejemplo, el brazo de 6 ejes verificará si puede incrementar el movimiento de 500 milímetros en el eje Y e imprimirá que no puede moverse esa distancia.
cuando empezó :: hat events
si <no <[Arm 2 v] incremento de posición por x:(0) y:(500) z:(0) [mm v]?>> entonces
imprimir [The Arm can't incremental move for this distance.] ▶
fin
¿Puede el efector final del brazo de 6 ejes moverse a la orientación?#
El bloque ¿Puede el efector final del brazo de 6 ejes moverse a la orientación? se utiliza para informar si el efector final del brazo de 6 ejes puede girar sobre un eje hasta una orientación específica.
<[brazo v] mover el efector final a [paso v] (0) grados?>
El bloque ¿Puede el efector final del brazo de 6 ejes moverse a la orientación? informa “Verdadero” cuando el brazo de 6 ejes puede girar sobre un eje hasta una orientación específica.
El bloque ¿Puede el efector final del brazo de 6 ejes moverse a la orientación? informa “Falso” cuando el brazo de 6 ejes no puede girar sobre un eje hasta una orientación específica.
Elija qué brazo de 6 ejes utilizar.
Seleccione el eje a utilizar:
paso - Movimiento alrededor del eje Y.
Rodar - Movimiento alrededor del eje X.
guiñada - Movimiento alrededor del eje Z.
En este ejemplo, el brazo de 6 ejes verificará si el efector final puede apuntar hacia la posición de 40 grados en el eje X e imprimirá si puede o no.
cuando empezó :: hat events
si <[brazo v] mover el efector final a [rollo v] (40) grados?> entonces
imprimir [The End Effector can move to this orientation] ▶
demás
imprimir [The End Effector can not move to this orientation] ▶
fin
¿Puede el efector final del brazo de 6 ejes moverse gradualmente hacia la orientación?#
El bloque ¿Puede el efector final del brazo de 6 ejes moverse de forma incremental a la orientación? se utiliza para informar si el efector final del brazo de 6 ejes puede girar de forma incremental sobre un eje de su orientación durante una cantidad específica de grados.
<[brazo v] incremento de orientación de [paso v] [0] grados?>
El bloque ¿Puede el efector final del brazo de 6 ejes moverse de forma incremental a la orientación? informa “Verdadero” cuando el brazo de 6 ejes puede girar de forma incremental sobre un eje durante una cantidad específica de grados.
El bloque ¿Puede el efector final del brazo de 6 ejes moverse de forma incremental a la orientación? informa “Falso” cuando el brazo de 6 ejes no puede girar de forma incremental sobre un eje durante una cantidad específica de grados.
Elija qué brazo de 6 ejes utilizar.
Seleccione el eje a utilizar:
paso - Rotación alrededor del eje Y.
roll - Rotación alrededor del eje X.
guiñada - Rotación alrededor del eje Z.
En este ejemplo, el brazo de 6 ejes verificará si el efector final puede incrementar el movimiento 20 grados en el eje Z e imprimirá si puede o no.
cuando empezó :: hat events
si <[brazo v] incremento de orientación de [guiñada v] [20] grados?> entonces
imprimir [The End Effector can increment move for this distance.] ▶
demás
imprimir [The End Effector can not increment move for this distance.] ▶
fin
¿El brazo de 6 ejes está terminado?#
El bloque ¿El brazo de 6 ejes está listo? se utiliza para informar si el brazo de 6 ejes ha terminado de moverse.
<[brazo v] ya termino de moverme?>
El bloque ¿El brazo de 6 ejes está listo? informa Verdadero
cuando el brazo de 6 ejes no se mueve.
El bloque ¿El brazo de 6 ejes está listo? informa Falso
cuando el brazo de 6 ejes se está moviendo.
Elija qué brazo de 6 ejes utilizar.
En este ejemplo, el brazo se moverá a la posición (-100, 200, 100) e imprimirá su coordenada Y en mm cada 0,25 segundos a medida que se mueve, hasta que termine de moverse.
cuando empezó :: hat events
[Move to (-100, 200, 100) and let subsequent blocks trigger.]
mover [Brazo1 v] a la posición x:[-100] y:[200] z:[100] [mm v] ◀ y no esperes
[Repeat the blocks until the Arm has finished moving.]
repetir hasta <[Brazo1 v] ya termino de moverme?>
[Print the Arm's current Y position in mm on the Brain every .25 seconds.]
imprimir ([Brazo1 v] posición [y v] en [mm v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
esperar (0.25) segundos
fin
Posición del brazo de 6 ejes#
El bloque Posición del brazo de 6 ejes se utiliza para informar la posición actual del brazo de 6 ejes en el eje especificado.
([brazo v] posición [incógnita v] en [mm v])
Elija qué brazo de 6 ejes utilizar.
Seleccione qué eje desea informar.
Seleccione qué unidad desea reportar: milímetros (mm) o pulgadas.
En este ejemplo, el brazo de 6 ejes imprimirá su posición actual del eje Z en milímetros en la consola de impresión.
cuando empezó :: hat events
imprimir ([brazo v] posición [z v] en [mm v]) ▶
Orientación del efector final del brazo de 6 ejes#
El bloque Orientación del efector final del brazo de 6 ejes se utiliza para informar la orientación actual del efector final del brazo de 6 ejes.
([brazo v] orientación [paso v] en grados)
Elija qué brazo de 6 ejes utilizar.
Seleccione qué eje desea informar:
paso - Rotación alrededor del eje Y.
roll - Rotación alrededor del eje X.
guiñada - Rotación alrededor del eje Z.
En este ejemplo, el brazo de 6 ejes imprimirá la orientación actual del eje Y del efector final en grados en la consola de impresión.
cuando empezó :: hat events
imprimir ([brazo v] orientación [paso v] en grados) ▶
Detección de seguimiento de línea#
Reflectividad del rastreador de línea#
El bloque Reflectividad del rastreador de línea se utiliza para informar la cantidad de luz reflejada mediante el sensor rastreador de línea.
([LineTrackerG v] reflectividad en %)
Elija qué sensor de seguimiento de línea utilizar.
En este ejemplo, el sensor rastreador de línea imprimirá la reflectividad detectada actual en la pantalla del cerebro.
cuando empezó :: hat events
imprimir ([LineTrackerG v] reflectividad en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección de luz#
Brillo del sensor de luz#
El bloque Brillo del sensor de luz se utiliza para informar la cantidad de luz detectada por el sensor de luz.
([Luz v] brillo en %)
Elija qué sensor de luz utilizar.
En este ejemplo, el sensor de luz imprimirá el brillo detectado actual en la pantalla del cerebro.
cuando empezó :: hat events
imprimir ([LightH v] brillo en %) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección por potenciómetro#
Ángulo del potenciómetro#
El bloque Ángulo del potenciómetro se utiliza para informar la posición angular del potenciómetro.
([Potentiometer3A v] ángulos en [% v])
Elija qué potenciómetro utilizar.
Seleccione la unidad que desea informar: porcentaje (%) o grados.
En este ejemplo, el potenciómetro imprimirá su posición angular actual en la pantalla del cerebro.
cuando empezó :: hat events
imprimir ([Potentiometer3A v] ángulos en [grados v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección por acelerómetro#
Aceleración del acelerómetro#
El bloque Aceleración del acelerómetro se utiliza para informar el valor de aceleración de un eje en el acelerómetro analógico.
([Accel2G3G v] aceleración en g)
El bloque Aceleración del acelerómetro informa un rango de -2,0 G a 2,0 G o de -6,0 G a 6,0 G dependiendo de la configuración del puente en el acelerómetro analógico.
Elija qué acelerómetro utilizar.
En este ejemplo, el sistema de transmisión se moverá hacia adelante durante 1 segundo antes de que su aceleración actual se imprima en la pantalla del cerebro.
cuando empezó :: hat events
[Drive forward for 1 second.]
unidad [adelante v]
esperar (1) segundos
[Print the current acceleration after 1 second.]
imprimir ([Accel2G3G v] aceleración en g) en [Brain v] ◀ y coloque el cursor en la siguiente fila
Detección del telémetro#
¿Se encontró un objeto con el telémetro?#
El bloque ¿Objeto encontrado por el telémetro? se utiliza para informar si el sensor del telémetro ultrasónico ve un objeto dentro de su campo de visión.
<[RangeFinderE v] Encontraste un objeto?>
El bloque ¿Objeto encontrado por el telémetro? informa Verdadero
cuando el sensor del telémetro ultrasónico detecta un objeto o una superficie dentro de su campo de visión.
El bloque ¿Objeto encontrado en el telémetro? informa Falso
cuando el sensor del telémetro ultrasónico no detecta un objeto o superficie.
Elija qué sensor de telémetro ultrasónico utilizar.
En este ejemplo, cada 0,25 segundos el telémetro comprobará si detecta un objeto y, si es así, imprimirá la distancia entre él y el objeto en la pantalla del cerebro.
cuando empezó :: hat events
para siempre
borrar todas las filas en [Brain v]
Coloque el cursor en la fila (1) columna (1) en Brain
[Check if the Range Finder found an object.]
si <[RangeFinderE v] Encontraste un objeto?> entonces
[Print the distance to the object.]
imprimir ([RangeFinderE v] distancia en [mm v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
fin
[Repeat the process every .25 seconds.]
esperar (0.25) segundos
fin
Distancia del telémetro#
El bloque Distancia del telémetro se utiliza para informar la distancia del objeto más cercano al sensor del telémetro ultrasónico.
([RangeFinderE v] distancia en [mm v])
Elija qué sensor de telémetro ultrasónico utilizar.
Seleccione la unidad que desea reportar: milímetros (mm) o pulgadas.
En este ejemplo, cada 0,25 segundos el telémetro comprobará si detecta un objeto y, si es así, imprimirá la distancia entre él y el objeto en la pantalla del cerebro.
cuando empezó :: hat events
para siempre
borrar todas las filas en [Brain v]
Coloque el cursor en la fila (1) columna (1) en Brain
[Check if the Range Finder found an object.]
si <[RangeFinderE v] Encontraste un objeto?> entonces
[Print the distance to the object.]
imprimir ([RangeFinderE v] distancia en [mm v]) en [Brain v] ◀ y coloque el cursor en la siguiente fila
fin
[Repeat the process every .25 seconds.]
esperar (0.25) segundos
fin
Lo digital en la detección#
Entrada digital#
El bloque Entrada digital se utiliza para informar si la señal de entrada digital es alta.
¿Señal [DigitalInA v] alta?
Los puertos de 3 cables funcionan a un nivel de voltaje de señal lógica de 5 V.
El bloque Digital In informa “Verdadero” cuando la señal de entrada digital es alta.
El bloque Digital In informa “Falso” cuando la señal de entrada digital es baja.
Elija qué dispositivo de entrada digital desea utilizar.
Detección de salida digital#
Salida digital#
El bloque Salida digital se utiliza para establecer el nivel lógico de un puerto de salida digital de 3 cables.
conjunto [DigitalInA v] [bajo v] :: custom-sensing
Los puertos de 3 cables funcionan a un nivel de voltaje de señal lógica de 5 V.
Elija qué puerto de salida digital utilizar.
Seleccione qué emitir: una señal lógica digital baja o alta.