HamsterS
Declarar a instância
Se acrescentares um bloco de HamsterS à área de trabalho, no código Python é inserida automaticamente a declaração de instância seguinte:
hamster_s = HamsterS(0)
# se existirem várias instâncias
hamster_s_1 = HamsterS(1)Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| index | Opção de lista | Número da instância (começa em 0) | inteiro ≥ 0 | 0 |
Definir a velocidade da roda
Determina a velocidade da roda. O intervalo da velocidade é -100 ~ 100.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Tipo de roda | esquerda(left), direita(right), ambas(both) | - |
| speed | Entrada (bloco) | Velocidade da roda | inteiro -100 ~ 100, 0: parado | - |
Python
hamster_s = HamsterS(0)
hamster_s.set_wheel_speed('both', 50)Mover uma distância
Avança a distância indicada à velocidade de roda atual.
Se não houver velocidade de roda definida, o robô avança à velocidade predefinida.
Se a distância for 0, o robô continua a avançar à velocidade de roda atual.
Se marcares aguardar, aguarda-se até o movimento terminar.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| data | Entrada (bloco) | Distância a percorrer | decimal ≥ 0 | - |
| unit | Opção de lista | Unidade de distância | cm, mm, polegada(inch) | cm |
| wait | Caixa de verificação | Aguardar que termine | TRUE / FALSE | TRUE |
Python
hamster_s = HamsterS(0)
hamster_s.move_distance(50, 'cm', wait=True)Mover durante um tempo
Avança durante o tempo indicado à velocidade de roda atual.
Se não houver velocidade de roda definida, o robô avança à velocidade predefinida.
Se marcares aguardar, aguarda-se até o movimento terminar.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| data | Entrada (bloco) | Tempo de movimento (segundos) | decimal ≥ 0 | - |
| wait | Caixa de verificação | Aguardar que termine | TRUE / FALSE | TRUE |
Python
hamster_s = HamsterS(0)
# wait = TRUE
hamster_s.move_time(5, wait=True)
# wait = FALSE
hamster_s.move_time(5, wait=False)Virar no mesmo lugar
Define a direção e o ângulo com que o robô vira no mesmo lugar.
Se marcares aguardar, aguarda-se até a rotação terminar.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| direction | Opção de lista | Direção da rotação | esquerda(left), direita(right) | - |
| data | Entrada (bloco) | Ângulo de rotação (graus) | decimal ≥ 0 | - |
| wait | Caixa de verificação | Aguardar que termine | TRUE / FALSE | TRUE |
Python
hamster_s = HamsterS(0)
hamster_s.turn_degree('left', 90, wait=True)Alterar a velocidade da roda
Altera a velocidade de roda do HamsterS.
A nova velocidade de roda é a velocidade atual mais a velocidade introduzida.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Tipo de roda | esquerda(left), direita(right), ambas(both) | - |
| speed | Entrada (bloco) | Diferença de velocidade da alteração | inteiro -200 ~ 200 | - |
Python
hamster_s = HamsterS(0)
hamster_s.change_wheel_speed('both', 10)Parar
Para o movimento do HamsterS.

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.stop()Roda em movimento?
Devolve true se a roda estiver em movimento e false se estiver parada.

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.wheel_moving()Avançar um passo no tabuleiro
Avança no tabuleiro casa a casa, conforme definido.

Parâmetros
nenhum.
Python
hamster_s = HamsterS(0)
hamster_s.grid_move()Virar uma vez no tabuleiro
Vira 90 graus no tabuleiro na direção indicada.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| direction | Opção de lista | Direção da rotação | esquerda(left), direita(right) | - |
Python
hamster_s = HamsterS(0)
hamster_s.grid_turn('left')Girar em torno do suporte da caneta
Ao usar o suporte da caneta, define o ponto de rotação, a direção e o ângulo.
Se marcares aguardar, aguarda-se até a rotação terminar.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| base | Opção de lista | Ponto de rotação | caneta esquerda(left_pen), caneta direita(right_pen), roda esquerda(left_wheel), roda direita(right_wheel) | - |
| direction | Opção de lista | Direção da rotação | para a frente(forward), para trás(backward) | - |
| degree | Entrada (bloco) | Ângulo de rotação (graus) | decimal ≥ 0 | - |
| wait | Caixa de verificação | Aguardar que termine | TRUE / FALSE | TRUE |
Python
hamster_s = HamsterS(0)
hamster_s.pivot('left_pen', 'forward', 90, wait=True)Desenhar um círculo em torno do suporte da caneta
Ao desenhar um círculo com o suporte da caneta, define o ponto de rotação, a direção, o raio e o ângulo.
Se marcares aguardar, aguarda-se até a rotação terminar.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| base | Opção de lista | Ponto de rotação | caneta esquerda(left_pen), caneta direita(right_pen) | - |
| direction | Opção de lista | Direção da rotação | frente esquerda(left_forward), trás esquerda(left_backward), frente direita(right_forward), trás direita(right_backward) | - |
| degree | Entrada (bloco) | Ângulo de rotação (graus) | decimal ≥ 0 | - |
| radius | Entrada (bloco) | Raio da rotação | decimal ≥ 0 | - |
| unit | Opção de lista | Unidade do raio | cm, mm, polegada(inch) | cm |
| wait | Caixa de verificação | Aguardar que termine | TRUE / FALSE | TRUE |
Python
hamster_s = HamsterS(0)
hamster_s.pivot_circle('left_pen', 'left_forward', 90, 1, 'cm', wait=True)Seguir a linha com o sensor
O HamsterS segue com o sensor de piso uma linha de uma determinada cor.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| floor | Opção de lista | Sensor de piso com que segue | esquerda(left), direita(right), centro(center) | - |
| line | Opção de lista | Cor da linha | preto(black), branco(white) | black |
Python
hamster_s = HamsterS(0)
hamster_s.trace_line('left', 'black')Virar numa interseção e parar na seguinte
O HamsterS vira na interseção na direção indicada e depois avança até encontrar a interseção seguinte.
Se marcares aguardar, aguarda-se até o movimento terminar.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| direction | Opção de lista | Direção na interseção | virar à esquerda(left), virar à direita(right), seguir em frente(forward), inverter a marcha(uturn) | - |
| line | Opção de lista | Cor da linha | preto(black), branco(white) | black |
| wait | Caixa de verificação | Aguardar que termine | TRUE / FALSE | TRUE |
Python
hamster_s = HamsterS(0)
hamster_s.trace_intersection('left', 'black', wait=True)Definir a velocidade de seguimento da linha
Define a velocidade de seguimento da linha. O intervalo da velocidade é 1 ~ 10.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| data | Entrada (bloco) | Velocidade de seguimento da linha | inteiro 1 ~ 10 | - |
Python
hamster_s = HamsterS(0)
hamster_s.set_trace_speed(5)Definir o ganho de seguimento da linha
Define a correção de direção no seguimento da linha. O intervalo da correção é 1 ~ 10.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| data | Entrada (bloco) | Correção de direção | inteiro 1 ~ 10 | - |
Python
hamster_s = HamsterS(0)
hamster_s.set_trace_gain(5)Parar de seguir a linha
Termina a função de seguimento da linha do HamsterS.

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.stop_trace()Definir a cor do LED
Define a cor do LED do HamsterS.
Se escolheres uma cor na palete de cores, ela é passada como nome da cor (texto em inglês). (O código não é gerado com valores numéricos R, G, B, mas com o nome da cor.)

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | LED em questão | esquerdo(left), direito(right), ambos(both) | - |
| color | Cor | Escolha na palete de cores → nome da cor (inglês) | Nome da cor: 'black', 'red', 'yellow', 'green', 'cyan', 'blue', 'magenta', 'white' | - |
Python
hamster_s = HamsterS(0)
hamster_s.set_led_color('both', 'red')Definir a cor do LED com um bloco da categoria Cor
Recebe como entrada um bloco da categoria Cor ([R, G, B]) e define com ele a cor do LED.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | LED em questão | esquerdo(left), direito(right), ambos(both) | - |
| data | Entrada (cor) | Bloco da categoria Cor ou uma matriz [R, G, B] | [0~255, 0~255, 0~255] | - |
Python
hamster_s = HamsterS(0)
hamster_s.set_led_color('both', *Utils.color_rgb(255, 128, 0))Alterar a cor do LED com valores RGB
Altera a cor do LED do HamsterS com os valores R, G e B indicados.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | LED em questão | esquerdo(left), direito(right), ambos(both) | - |
| r | Entrada (campo) | Alteração de vermelho | inteiro -255 ~ 255 | 0 |
| g | Entrada (campo) | Alteração de verde | inteiro -255 ~ 255 | 0 |
| b | Entrada (campo) | Alteração de azul | inteiro -255 ~ 255 | 0 |
Python
hamster_s = HamsterS(0)
hamster_s.change_led_color('both', 10, 0, 0)Desligar o LED
Apaga a cor do LED.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | LED em questão | esquerdo(left), direito(right), ambos(both) | both |
Python
hamster_s = HamsterS(0)
hamster_s.turn_off('both')Definir a frequência do som
Define a frequência do som do HamsterS para o valor indicado.
O intervalo das frequências que se ouvem é 122,1 Hz ~ 4186,0 Hz.
Se introduzires outro valor, não se ouve som.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| hz | Entrada (bloco) | Frequência (Hz) | decimal 122,1 ~ 4186,0 (caso contrário 0) | - |
Python
hamster_s = HamsterS(0)
hamster_s.sound_buzz(440)Tocar uma nota
O HamsterS toca a nota indicada.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| note | Opção de lista | Nota | Dó(C), Dó#(C#), Ré(D), Ré#(D#), Mi(E), Fá(F), Fá#(F#), Sol(G), Sol#(G#), Lá(A), Lá#(A#), Si(B) | - |
| octave | Opção de lista | Oitava | 3, 4, 5, 6, 7 | 4 |
Python
hamster_s = HamsterS(0)
hamster_s.sound_note('D', 5)Reproduzir um som
O HamsterS reproduz um clipe de som.
Se marcares esperar, aguarda-se até a reprodução terminar.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| clip | Opção de lista | Nome do clipe de som | 'mute', 'beep', 'siren', 'engine', 'robot', 'march', 'birthday', 'happy', 'angry', 'sad' e mais | - |
| wait | Caixa de verificação | Aguardar que termine | TRUE / FALSE | TRUE |
Python
hamster_s = HamsterS(0)
hamster_s.sound_clip('siren', wait=True)Desligar o som
Desliga o som do HamsterS.

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.sound_off()Som a tocar?
Devolve true se estiver som a tocar e false se não.

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.sound_playing()Velocidade da roda
A velocidade de uma determinada roda

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Roda em questão | esquerda(left), direita(right) | - |
Python
hamster_s = HamsterS(0)
hamster_s.wheel_speed('left')Valor do sensor de proximidade
O valor de um determinado sensor de proximidade

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Posição do sensor medido | esquerda(left), direita(right) | - |
Python
hamster_s = HamsterS(0)
hamster_s.proximity('left')Valor do sensor de chão
O valor de um determinado sensor de chão

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Posição do sensor medido | esquerda(left), direita(right) | - |
Python
hamster_s = HamsterS(0)
hamster_s.floor('left')Valor da aceleração
O valor da aceleração da gravidade num determinado eixo

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Eixo medido | x, y, z | - |
Python
hamster_s = HamsterS(0)
hamster_s.acceleration('x')Valor do sensor de luminosidade
O valor do sensor de luminosidade

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.light()Valor do sensor de temperatura
O valor do sensor de temperatura

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.temperature()Valor da intensidade do sinal
A intensidade do sinal

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.signal_strength()Tensão da bateria
A tensão da bateria

Parâmetros
(nenhum)
Python
hamster_s = HamsterS(0)
hamster_s.battery()O estado mudou?
Se o estado do robô mudou

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Tipo de estado | 0 ~ 7 (ver a tabela seguinte) | - |
| unit | Significado | Python |
|---|---|---|
| 0 | inclinar para a frente | acceleration('x') > 5000 |
| 1 | inclinar para trás | acceleration('x') < -5000 |
| 2 | inclinar para a esquerda | acceleration('y') > 5000 |
| 3 | inclinar para a direita | acceleration('y') < -5000 |
| 4 | voltado ao contrário | acceleration('z') > 0 |
| 5 | não voltado ao contrário | acceleration('z') < -3000 |
| 6 | obstáculo/mão detetados | proximity('left') > 50 or proximity('right') > 50 |
| 7 | toque | tap() |
Python
hamster_s = HamsterS(0)
# unit = 0
hamster_s.acceleration('x') > 5000
# unit = 6
hamster_s.proximity('left') > 50 or hamster_s.proximity('right') > 50
# unit = 7
hamster_s.tap()Definir o modo de entrada da porta de E/S
Define o modo de entrada da porta IO.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Porta de E/S | a, b, ambas(both) | - |
| option | Opção de lista | Modo de E/S | analog_input, digital_input, digital_input_pullup, digital_input_pulldown, analog_input_voltage, servo_output, pwm_output, digital_output | - |
Python
hamster_s = HamsterS(0)
hamster_s.io_mode('both', 'analog_input')Definir a saída da porta de E/S
Define o valor de saída da porta IO indicada.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Porta de E/S | a, b, ambas(both) | - |
| data | Entrada (bloco) | Valor de saída | inteiro 0 ~ 180 | - |
Python
hamster_s = HamsterS(0)
hamster_s.set_output('a', 90)Alterar a saída da porta de E/S
Altera o valor de saída da porta IO indicada.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Porta de E/S | a, b, ambas(both) | - |
| data | Entrada (bloco) | Diferença do valor de saída | inteiro | - |
Python
hamster_s = HamsterS(0)
hamster_s.change_output('a', 10)Abrir / fechar a garra
Abre ou fecha a garra do HamsterS.
De acordo com o valor de unit é chamado um dos dois métodos.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Ação | abrir(open), fechar(close) | - |
Python
hamster_s = HamsterS(0)
# unit = "open"
hamster_s.open_gripper()
# unit = "close"
hamster_s.close_gripper()Definir o ângulo do lançador
Controla o lançador definindo o seu ângulo. O intervalo do ângulo é 0 ~ 180.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| data | Entrada (bloco) | Ângulo do lançador | inteiro 0 ~ 180 | - |
Python
hamster_s = HamsterS(0)
hamster_s.shooter(45)Valor de entrada da porta de E/S
Devolve o valor de entrada da porta de E/S do HamsterS.

Parâmetros
| Nome | Tipo | Descrição | Intervalo / Tipo | Valor predefinido |
|---|---|---|---|---|
| unit | Opção de lista | Porta de E/S | a, b | - |
Python
hamster_s = HamsterS(0)
hamster_s.get_input('a')