Sensor de rotação#
Introdução#
O Sensor de Rotação mede a rotação de um veio. Pode ser utilizado em qualquer lugar do robô onde um eixo esteja a rodar, mesmo que esse eixo não esteja ligado diretamente a um motor.
Um motor possui um codificador incorporado que consegue rastrear a sua própria rotação. O sensor de rotação funciona como um codificador externo, capaz de rastrear a rotação de um eixo separado.
O sensor de rotação pode devolver o ângulo, a posição e a velocidade do veio. O ângulo representa a posição absoluta do eixo, de 0 a 359,99 graus. Não é reposto quando um projeto é iniciado ou quando o robô é desligado. A posição regista quantos graus ou voltas o eixo rodou para a frente ou para trás durante um projeto e pode ser reiniciada conforme necessário.
O sensor de rotação é compatível com eixos VEX padrão de 1/8 de polegada e 1/4 de polegada.

Esta página utiliza rotation_sensor como exemplo do nome do sensor de rotação. Substitua-o pelo nome que configurou, se necessário.
Segue-se uma lista dos métodos disponíveis:
set_position— Define a posição actual do sensor de rotação para um valor específico.angle— Devolve o ângulo actual do eixo de 0 a 359,99 graus.position— Devolve o quanto o veio rodou em graus ou voltas.velocity— Devolve a velocidade de rotação do veio.reset_position— Repõe a posição actual do sensor de rotação para 0.set_reversed— Define se a saída do sensor de rotação está invertida.changed— Regista uma função a ser executada sempre que o valor do Sensor de Rotação é alterado.
Construtor — Inicializa manualmente um sensor de rotação.
Rotation— Cria um sensor de rotação.
definir_posição#
set_position define a posição atual do sensor de rotação para um valor.
A posição indica o quanto o veio rodou durante um projeto. A definição da posição altera o valor da posição atual sem mover o eixo.
Usage:
rotation_sensor.set_position(position, units)
Parâmetros |
Descrição |
|---|---|
|
O valor da posição a atribuir ao sensor de rotação. Pode ser um número inteiro ou decimal. |
|
Opcional. A unidade de posição: |
# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)
ângulo#
angle returns the shaft’s current angle as a float.
O indicador de ângulo mostra a posição absoluta do veio numa rotação, de 0 a 359,99 graus. Não é reposto quando um projeto é iniciado ou quando o robô é desligado.
Usage:
rotation_sensor.angle(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade de ângulo: |
posição#
position returns how far the shaft has rotated.
Ao contrário do ângulo, a posição pode aumentar para além dos 359,99 graus ou diminuir abaixo dos 0 graus. A posição regista o quanto o eixo gira para a frente ou para trás durante um projeto e pode ser redefinida conforme necessário.
Usage:
rotation_sensor.position(units)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A unidade de posição: |
velocidade#
A velocidade velocity o veio está a rodar.
Usage:
rotation_sensor.velocity(units)
Parâmetros |
Descrição |
|---|---|
|
A unidade de velocidade: |
posição_de_reposição#
reset_position reinicia a posição atual do sensor de rotação para 0.
Usage:
rotation_sensor.reset_position()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
definir_invertido#
set_reversed define se a saída do sensor de rotação está invertida.
Quando invertidos, os valores positivos tornam-se negativos e os valores negativos tornam-se positivos. Este método funciona da mesma forma que a definição do parâmetro reverse para True quando se utiliza o construtor Rotation .
Usage:
rotation_sensor.set_reversed(value)
Parâmetros |
Descrição |
|---|---|
|
Inverter a saída do sensor de rotação: |
mudado#
changed regista uma função a ser chamada sempre que o valor do Sensor de Rotação é alterado.
Usage:
rotation_sensor.changed(callback, arg)
Parâmetros |
Descrição |
|---|---|
|
Uma função previamente definida que é executada quando o valor do Sensor de Rotação é alterado. |
|
Opcional. Uma tupla contendo argumentos para passar para a função de callback. Consulte Utilizar funções com parâmetros para obter mais informações. |
def my_function():
brain.screen.print("Rotated!")
# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)
Construtor#
Os construtores são utilizados para criar manualmente objetos com rotação Rotation , como quando se configura um sensor de rotação fora do VEXcode.
Rotation#
Rotation cria um objeto Sensor de Rotação.
Usage:
Rotation(smartport)
Parâmetro |
Descrição |
|---|---|
|
A porta inteligente à qual o sensor de rotação está ligado é escrita como |
|
Opcional. Indica se a saída do sensor de rotação deve ser invertida: |
# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)