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.

O sensor de rotação VEX V5.

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

position

O valor da posição a atribuir ao sensor de rotação. Pode ser um número inteiro ou decimal.

units

Opcional. A unidade de posição: DEGREES (padrão) ou TURNS.

# 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

units

Opcional. A unidade de ângulo: DEGREES (padrão) ou TURNS.

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

units

Opcional. A unidade de posição: DEGREES (padrão) ou TURNS.

velocidade#

A velocidade velocity o veio está a rodar.

Usage:
rotation_sensor.velocity(units)

Parâmetros

Descrição

units

A unidade de velocidade: VelocityUnits.RPM (rotações por minuto) ou VelocityUnits.DPS (graus por segundo).

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

value

Inverter a saída do sensor de rotação: True ou False.

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

callback

Uma função previamente definida que é executada quando o valor do Sensor de Rotação é alterado.

arg

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

smartport

A porta inteligente à qual o sensor de rotação está ligado é escrita como Ports.PORTx, onde x é o número da porta.

reverse

Opcional. Indica se a saída do sensor de rotação deve ser invertida: True ou False (padrão).

# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)