Transmissão#
Introdução#
O robô VEX IQ (1ª geração) utiliza um sistema de transmissão para se deslocar e rodar. Um sistema de transmissão é composto por motores e rodas que trabalham em conjunto para movimentar o robô.
Um sistema de transmissão configurado utiliza um Sensor Giroscópio ligado para auxiliar o robô a mover-se e a rodar com precisão. No início de cada projeto, o sistema de transmissão calibra o Sensor Giroscópio automaticamente. Mantenha o robô imóvel durante cerca de 2 segundos durante a calibração, para que se possa mover e rodar corretamente.
Existem muitas formas de programar o sistema de transmissão. Abaixo está uma lista de todos os blocos do sistema de transmissão:
Ações — Mova e rode o robô.
drive — Move o robô para a frente ou para trás indefinidamente.
drive for — Move o robô para a frente ou para trás uma distância específica.
virar — Vira o robô para a esquerda ou para a direita para sempre.
virar para — Vira o robô para a esquerda ou para a direita por um número específico de graus.
virar para a direção — Roda o robô para ficar virado para uma direção específica de -359 a 359 graus. O robô irá rodar na direção mais curta para alcançar a direção alvo.
virar para rotação — Roda o robô para uma rotação específica.
parar de conduzir — Interrompe o movimento do robô.
Definições — Ajustar as definições da transmissão.
definir velocidade de condução — Indica ao robô a velocidade de condução.
definir velocidade de rotação — Indica ao robô a velocidade com que deve rodar.
set drive stopping — Indica como o robô irá parar de se mover: travagem, inércia ou parado.
set drive timeout — Define quantos segundos o robô tentará completar um movimento.
definir direção de direção — Altera a direção atual do robô para uma nova direção.
definir rotação de acionamento — Altera a rotação atual do robô para uma nova rotação.
Valores — Verificar o estado da movimentação.
drive is done — Reporta se o robô já terminou de se mover.
drive is moving — Reporta se o robô se está a mover.
direção de condução — Reporta a direção atual do robô de 0 a 359 graus.
rotação de acionamento — Reporta a rotação atual do robô.
velocidade de deslocamento — Reporta a velocidade de deslocamento do robô.
corrente de acionamento — Reporta quanta corrente elétrica o grupo motopropulsor está a utilizar.
Ações#
conduzir#
O bloco de acionamento move o robô para a frente ou para trás indefinidamente. O robô continuará a mover-se até receber outra ação, como virar-se ou parar.
conduzir [frente v]
Parâmetros |
Descrição |
|---|---|
direção |
A direção em que o robô se move: para a frente ou para trás. |
Exemplo
quando iniciar
[Drive forward, then stop.]
conduzir [frente v]
aguardar (2) segundos
parar de conduzir
conduzir para#
O bloco de pilha drive for move o robô para a frente ou para trás por uma distância específica. O projeto aguardará até que o robô termine de se mover antes de executar o próximo bloco na pilha.
conduzir [frente v] por (200) [mm v] ▶
Parâmetros |
Descrição |
|---|---|
direção |
A direção em que o robô se move: para a frente ou para trás. |
distância |
A distância percorrida pelo robô. Pode ser um número inteiro ou decimal. |
unidade |
A unidade de distância: mm (milímetros) ou polegadas. |
e não espere |
Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente. |
Exemplo
quando iniciar
[Drive backward 500 mm.]
conduzir [inverso v] por (500) [mm v] ▶
virar#
O bloco de pilha virar faz com que o robô vire para a esquerda ou para a direita indefinidamente. O robô continuará a virar até receber outra ação, como conduzir ou parar.
virar [direita v]
Parâmetros |
Descrição |
|---|---|
direção |
A direção para a qual o robô vira: esquerda ou direita. |
Exemplo
quando iniciar
[Turn right, then stop.]
virar [direita v]
aguardar (2) segundos
parar de conduzir
virar para#
O bloco de pilha rodar para roda o robô para a esquerda ou para a direita por um número específico de graus. A rotação é relativa à posição atual do robô. O projeto aguardará até que o robô termine de rodar antes de executar o próximo bloco na pilha.
virar [direita v] por (90) graus ▶
Parâmetros |
Descrição |
|---|---|
direção |
A direção para a qual o robô vira: esquerda ou direita. |
ângulo |
O número de graus que o robô roda. Pode ser um número inteiro ou decimal. |
e não espere |
Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente. |
Exemplo
quando iniciar
[Turn left, then turn around to the right.]
virar [esquerda v] por (90) graus ▶
virar [direita v] por (180) graus ▶
virar para a direção#
A direção é a direção para a qual o robô está virado, medida em graus. O bloco de pilha virar para a direção roda o robô para uma direção específica entre -359 e 359 graus. O robô irá rodar na direção mais curta para alcançar a direção desejada.
A direção inicial é de 0 graus.
O projeto aguardará até que o robô termine de rodar antes de executar o próximo bloco na pilha.
virar para a direção (90) graus ▶
Parâmetros |
Descrição |
|---|---|
cabeçalho |
A direção para a qual o robô deve estar virado, em graus. Pode ser um número inteiro ou decimal de -359 a 359. |
e não espere |
Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente. |
Exemplo
quando iniciar
[Turn to face the cardinal directions.]
virar para a direção (90) graus ▶
aguardar (2) segundos
virar para a direção (180) graus ▶
aguardar (2) segundos
virar para a direção (270) graus ▶
aguardar (2) segundos
virar para a direção (0) graus ▶
aguardar (2) segundos
girar#
O bloco de pilha rodar para rotação roda o robô para uma rotação específica.
A rotação é o quanto o robô rodou, medida em graus. No início de um projeto, o valor de rotação é definido como 0 graus. A rotação também pode ser definida através do bloco definir rotação de acionamento.
Os valores de rotação são absolutos. Isto significa que a direção da viragem depende da rotação atual do robô. Virar para a direita aumenta a rotação, e virar para a esquerda diminui a rotação.
Por exemplo, se o robô começar a 0 graus e rodar 720 graus, este irá virar para a direita duas vezes. Se depois rodar 360 graus, virará para a esquerda uma vez, porque 360 é inferior a 720.
virar para a rotação (90) graus ▶
Parâmetros |
Descrição |
|---|---|
rotação |
O valor de rotação, em graus, para o qual o robô irá rodar. Pode ser um número inteiro ou decimal. |
e não espere |
Selecione a seta ( ▶ ) para expandir o bloco e apresentar e não esperar, para que o próximo bloco da pilha seja executado imediatamente. |
Exemplo
quando iniciar
[Turn left, then spin in a circle clockwise and face right.]
virar para a rotação (-90) graus ▶
aguardar (2) segundos
virar para a rotação (450) graus ▶
Pare de conduzir#
O bloco de pilha parar de conduzir interrompe o movimento do robô.
parar de conduzir
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Drive forward, then stop.]
conduzir [frente v]
aguardar [4] segundos
parar de conduzir
Configurações#
definir velocidade de acionamento#
O bloco de pilha definir velocidade de acionamento indica ao robô a velocidade de deslocação. Uma percentagem mais elevada faz com que o robô se desloque mais rapidamente e uma percentagem mais baixa faz com que se desloque mais lentamente.
Todos os projetos começam com o robô a deslocar-se a 50% da velocidade por defeito.
Nota: Uma velocidade mais elevada faz com que o robô se mova mais rapidamente, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o robô se mova mais devagar, mas pode ser mais preciso.
definir velocidade de condução para (50) %
Parâmetros |
Descrição |
|---|---|
velocidade |
A velocidade de condução varia entre 0% a 100%. |
Exemplo
quando iniciar
[Drive forward at the default velocity.]
conduzir [frente v] por (100) [mm v] ▶
aguardar (1) segundos
[Move slower.]
definir velocidade de condução para (20) %
conduzir [frente v] por (100) [mm v] ▶
aguardar (1) segundos
[Move faster.]
definir velocidade de condução para (100) %
conduzir [frente v] por (100) [mm v] ▶
aguardar (1) segundos
definir velocidade de rotação#
O bloco de pilha definir velocidade de rotação indica ao robô a velocidade a que deve rodar. Uma percentagem mais elevada faz com que o robô gire mais rápido e uma percentagem mais baixa faz com que o robô gire mais devagar.
Todos os projetos começam com o robô a rodar a 50% da velocidade por defeito.
Nota: Uma velocidade mais elevada faz com que o robô gire mais rápido, mas pode ser menos preciso. Uma velocidade mais baixa faz com que o robô gire mais devagar, mas pode ser mais preciso.
definir velocidade de giro para (50)%
Parâmetros |
Descrição |
|---|---|
velocidade |
A velocidade de rotação varia entre 0% a 100%. |
Exemplo
quando iniciar
[Turn at default velocity.]
virar [direita v] por (100) graus ▶
aguardar (1) segundos
[Turn slower.]
definir velocidade de giro para (20)%
virar [direita v] por (100) graus ▶
aguardar (1) segundos
[Turn faster.]
definir velocidade de giro para (100)%
virar [direita v] por (100) graus ▶
aguardar (1) segundos
definir paragem de acionamento#
O bloco de pilha set drive stopping define a forma como o robô irá parar de se mover: travagem, inércia ou mantendo a mudança parada.
definir parada de condução para [frear v]
Parâmetros |
Descrição |
|---|---|
comportamento de interrupção |
Como o robô irá parar:
|
Se este bloco não for utilizado, o robô utilizará o travão ao parar.
Exemplo
quando iniciar
[Drive forward and coast to a stop.]
definir velocidade de condução para (100) %
definir parada de condução para [deslizar v]
conduzir [frente v]
aguardar (2) segundos
parar de conduzir
definir tempo limite da unidade#
O bloco de pilha set drive timeout define durante quantos segundos o robô tentará completar um movimento. Se o robô não conseguir completar dentro deste tempo, interromperá a tentativa e passará para o bloco seguinte da pilha. Isto impede que o robô fique preso num movimento.
definir tempo limite de condução para (1) segundos
Parâmetros |
Descrição |
|---|---|
hora |
O número de segundos que o robô pode tentar para completar um movimento. Pode ser um número inteiro ou decimal. |
Exemplo
quando iniciar
[Drive forward for 1 second, then turn.]
definir tempo limite de condução para (1) segundos
conduzir [frente v] por (25) [polegadas v] ▶
virar [direita v] por (90) graus ▶
definir rumo de condução#
A direção é a direção para a qual o robô está virado, medida em graus. O bloco de pilha definir direção de acionamento altera a direção atual do robô para um novo valor de direção.
Por exemplo, se o robô se virou para a direita, definir a direção para 0 graus faz com que essa posição virada para a direita se torne os novos 0 graus. De seguida, o robô pode rodar para outras posições com base nessa nova direção.
definir direção de condução para (0) graus
Parâmetros |
Descrição |
|---|---|
cabeçalho |
O valor da direção, em graus, a definir para o robô. Pode ser um número inteiro ou decimal de 0 a 359. |
Exemplo
quando iniciar
[Turn to the left.]
definir direção de condução para (90) graus
virar para a direção (0) graus ▶
definir rotação do acionamento#
A rotação indica o quanto o robô rodou, medida em graus. No início de um projeto, o valor de rotação é definido como 0 graus. O bloco de pilha definir rotação de acionamento altera a rotação atual do robô para um novo valor.
Por exemplo, se o robô tiver dado duas voltas completas para a direita, o seu valor de rotação será de 720 graus. Definir a rotação para 0 graus irá repor essa rotação de 720 para 0 graus. De seguida, o robô poderá rodar para rotações baseadas nesse novo valor.
definir rotação de condução para (0) graus
Parâmetros |
Descrição |
|---|---|
rotação |
O valor de rotação, em graus, a definir para o robô. Pode ser um número inteiro ou decimal. |
Exemplo
quando iniciar
[Spin counterclockwise two times.]
definir rotação de condução para (720) graus
virar para a rotação (0) graus ▶
Valores#
A viagem terminou.#
O bloco booleano conclusão da condução indica se o robô terminou de se mover. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.
Verdadeiro — O robô terminou de se mover.
Falso — O robô ainda se está a mover.
Este bloco funciona em conjunto com os seguintes blocos Drivetrain que têm o parâmetro e não esperar: dirigir para, virar para, virar para rumo e virar para rotação.
<condução concluída?>
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Start spinning when the drive is complete.]
conduzir [frente v] por (200) [mm v] ◀ e não aguardar
para sempre
se <condução concluída?> então
virar [direita v] por (360) graus ▶
interromper
senão
definir cursor para linha (1) coluna (1) na tela
imprimir [Still Moving...] na tela ▶
aguardar (0.1) segundos
limpar tela
O veículo está em movimento.#
O bloco booleano drive is moving informa se o robô se está a mover. Isto pode ser utilizado para controlar o tempo de outros comportamentos com base no movimento do robô.
Verdadeiro — O robô está em movimento.
Falso — O robô não se está a mover.
Este bloco funciona em conjunto com os seguintes blocos Drivetrain que têm o parâmetro e não esperar: dirigir para, virar para, virar para rumo e virar para rotação.
<condução em movimento?>
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Print that the robot is moving while it is still driving.]
conduzir [frente v] por (200) [mm v] ◀ e não aguardar
enquanto <condução em movimento?>
definir cursor para linha (1) coluna (1) na tela
imprimir [Still Moving...] na tela ▶
aguardar (0.1) segundos
limpar tela
fim
definir cursor para linha (1) coluna (1) na tela
imprimir [Done!] na tela ▶
Conduzir em direção a#
O bloco de relatório direção de direção informa a direção atual do robô, de 0 a 359 graus.
A direção inicial do robô é de 0 graus.
(direção de condução em graus)
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Display the heading after turning.]
virar [direita v] por (450) graus ▶
imprimir (direção de condução em graus) na tela ◀ e mover cursor para a próxima linha
rotação de acionamento#
A rotação indica o quanto o robô rodou, medida em graus. No início de um projeto, o valor de rotação é definido como 0 graus. O bloco de relatório rotação de acionamento informa a rotação atual do robô.
Virar para a direita aumenta a rotação, e virar para a esquerda diminui a rotação. Por exemplo, duas voltas completas para a direita resultarão numa rotação de 720 graus.
(rotação de condução em graus)
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Display the rotation after turning.]
virar [direita v] por (450) graus ▶
imprimir (rotação de condução em graus) na tela ◀ e mover cursor para a próxima linha
velocidade de acionamento#
O bloco de relatório de velocidade de deslocamento informa a velocidade a que o robô se está a deslocar.
Consegue reportar a velocidade em percentagem, de -100% a 100%, ou em rotações por minuto (rpm), de -127 rpm a 127 rpm. Um valor positivo significa que o robô se está a mover para a frente. Um valor negativo significa que o robô se está a mover para trás.
(velocidade de condução em [% v])
Parâmetros |
Descrição |
|---|---|
unidade |
A unidade para reportar a velocidade de acionamento é:
|
Exemplo
quando iniciar
[Display the velocity as the robot is moving.]
conduzir [frente v]
aguardar (1) segundos
imprimir (velocidade de condução em [% v]) na tela ◀ e mover cursor para a próxima linha
parar de conduzir
corrente de acionamento#
O bloco de relatório de corrente de acionamento indica quanta corrente elétrica o sistema de transmissão está a utilizar, medida em amperes (A) de 0,0 a 1,2 A. A corrente é a quantidade de eletricidade que flui através do sistema de transmissão.
Um valor de corrente mais elevado significa que o sistema de transmissão está a consumir mais corrente elétrica. Isto pode acontecer quando o robô está a empurrar um objeto ou a tentar mover-se quando está preso.
Este pode ser utilizado para verificar se a transmissão está a apresentar dificuldades durante o movimento. Se a corrente permanecer elevada, a transmissão pode sobreaquecer ou utilizar a energia de forma menos eficiente.
(corrente de condução em [amps v])
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar
[Display the current as the robot is moving.]
definir precisão de impressão para [0.01 v] na tela
conduzir [frente v]
aguardar (1) segundos
imprimir (corrente de condução em [amps v]) na tela ◀ e mover cursor para a próxima linha
parar de conduzir