Transmissão#
Introdução#
O sistema de transmissão inclui rodas e motores que controlam a forma como o robô se move e gira. Os sistemas de transmissão podem ser encontrados em projetos como o Code Base 2.0, o Super Car ou um robô personalizado.
Os sistemas de transmissão utilizam o Sensor Inercial no Cérebro para detetar colisões e ajudar 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 Inercial 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.
dirigir até — Move o robô para a frente ou para trás até que o sensor ocular detete um objeto ou o robô detete uma colisão.
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.
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ô, em percentagem de -100% a 100%.
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 :: hat events
[Build Used: Code Base 2.0]
[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 [100] [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 :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
conduzir [frente v] por [100] [mm v] ▶
conduzir [inverso v] por [4] [polegadas v] ▶
conduzir até#
O bloco de pilha dirigir até move o robô para a frente ou para trás até que o sensor de visão detete um objeto ou o robô detete uma colisão.
conduzir [frente v] até [objeto v] ▶
Parâmetros |
Descrição |
|---|---|
direção |
A direção em que o robô se move: para a frente ou para trás. |
estado |
A condição que para o robô é: objeto ou colisão. |
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 :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
conduzir [frente v] até [colisão v] ▶
virar [direita v] por (90) graus ▶
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 :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
virar [direita v]
aguardar [2] segundos
virar [esquerda 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 :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
virar [direita v] por (90) graus ▶
virar [esquerda v] por (90) graus ▶
virar para a direção#
A direção é a direção para a qual o cérebro do robô está a apontar, medida em graus. O bloco de pilha virar para a direção roda o robô para apontar 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 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, expressa como um número inteiro, de -359 a 359 graus. |
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 :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
virar para a direção [90] graus ▶
aguardar [1] segundos
virar para a direção [180] graus ▶
aguardar [1] segundos
virar para a direção [270] graus ▶
aguardar [1] segundos
virar para a direção [0] graus ▶
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.

O projeto aguardará até que o robô termine de rodar antes de executar o próximo bloco na pilha.
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. |
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 :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
virar para a rotação [360] graus ▶
[Make another full turn to the right.]
virar para a rotação [720] graus ▶
[Make one full turn to the left, returning to 360 degrees.]
virar para a rotação [360] 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 :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
conduzir [frente v]
aguardar (2) 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 seja 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 :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
conduzir [frente v] por [100] [mm v] ▶
aguardar [1] segundos
[Drive slow.]
definir velocidade de condução para (20) %
conduzir [frente v] por [100] [mm v] ▶
aguardar [1] segundos
[Drive fast.]
definir velocidade de condução para (100) %
conduzir [frente v] por [100] [mm v] ▶
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 seja 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 :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
virar [direita v] por [180] graus ▶
aguardar [1] segundos
[Turn fast.]
definir velocidade de giro para [100]%
virar [direita v] por [180] graus ▶
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 :: hat events
[Build Used: Code Base 2.0]
[Drive, then 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 :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
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 cérebro do robô está a apontar, medida em graus. O bloco de pilha definir direção de direção 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 de 0 a 359. |
Exemplo
quando iniciar :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
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. |
Exemplo
quando iniciar :: hat events
[Build Used: Code Base 2.0]
[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 de transmissão que têm o parâmetro e não esperar: dirigir por, dirigir até, virar por, 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 :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
conduzir [frente v] por [100] [mm v] ◀ e não aguardar
aguardar [0.25] segundos
para sempre
se <condução concluída?> então
virar [direita v] por [180] graus ▶
interromper
senão
imprimir [Still moving...] ▶
aguardar [0.1] segundos
limpar todas as linhas
Conduzir em direção a#
A direção é a direção para a qual o cérebro do robô está virado, medida em graus. O bloco de relatório direção de direção reporta esta direção 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 :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
virar [direita v] por [450] graus ◀ e não aguardar
para sempre
limpar todas as linhas
imprimir (direção de condução em graus) ▶
aguardar [0.1] segundos
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 :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
virar [direita v] por [450] graus ◀ e não aguardar
para sempre
limpar todas as linhas
imprimir (rotação de condução em graus) ▶
aguardar [0.1] segundos
velocidade de acionamento#
O bloco de relatório de velocidade de deslocamento indica a velocidade de deslocamento do robô, em percentagem, de -100% a 100%.
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 %)
Parâmetros |
Descrição |
|---|---|
Este bloco não possui parâmetros. |
Exemplo
quando iniciar :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
imprimir [Start: ] ▶
imprimir (velocidade de condução em %) ▶
mover cursor para a próxima linha
conduzir [frente v]
aguardar [0.5] segundos
imprimir [Moving: ] ▶
imprimir (velocidade de condução em %) ▶
parar de conduzir