Ir para o conteúdo principal

Programação


O motor em si possui 2 blocos que podem ser utilizados - sendo um deles o próprio motor.

Objeto de motor

O bloco de motor é utilizado para indicar com qual porta estaremos trabalhando, por isso é preciso escolher ela do lado do objeto, como indicado.

Motor configurado para porta 1:

motor1.png

Motor configurado para porta 3 (com outras opções disponíveis):

motor3.png

Bloco de potência

O bloco que faz com que o motor se movimente é o bloco setPower, o qual recebe como parâmetro um valor de -1.0 a 1.0. Ele funciona em combinação com o objeto de motor. Como demonstra a imagem abaixo:

setpower.png

Entretanto, como explicado no parágrafo anterior, é preciso passar um valor numérico para esse bloco, isso pode ser feito de dois modos. Passando uma constante por meio da categoria “Math” ou utilizando um valor dinâmico do controle - que será melhor explicado em outra seção.

Valor Constante

Como supracitado, é possível passar um valor numérico constante para o bloco setPower, como mostra:

ssetpower1.png

Como pode ser um valor de -1.0 a 1.0 (valores maiores ou menores que os limites superiores e inferiores, respectivamente, serão cortados para 1.0, assim, -1.2 vira -1.0 e 1.2 vira 1.0), é possível colocar um valor fracionário e negativo, como:

setpowerfract.png

Deve ser observado que o valor 1 tende a rotacionar o motor na velocidade máxima (100%), enquanto que um valor de 0.5 faz com que o motor gire na metade da velocidade total (50%). Caso seja colocado um valor negativo, a rotação se inverte.

Valor dinâmico

Para essa seção leia os trechos sobre controle e conceitos iniciais da biblioteca.

Como explicado na seção de conceitos iniciais da biblioteca, o bloco de loop opera repetidamente durante a execução do programa, é possível utilizar isso para atualizar periodicamente a saída do motor - visto que a cada momento é definido um valor novo para a porta. Para fazer isso, utilizamos o objeto de controle (Gamead na interface), como explicado anteriormente, os valores dos eixos dos analógicos variam de -1.0 a 1.0, portanto, é totalmente viável colocar a o valor de saída de um dos eixos dos analógicos diretamente na entrada do bloco setPower. Como demonstrado abaixo:4

setpowergamepad.png

Dessa forma, um código que rotacione um motor baseado no valor do eixo Y do analógico esquerdo do controle tem o seguinte formato:

code.png

Execução

Com a montagem e a programação feita já é possível controlar o motor. Veja a seção de Driver Station para entender como conectar o computador ao EasySTEAM de forma wireless.