Escolar Documentos
Profissional Documentos
Cultura Documentos
2. O sensor de toque
O Sensor de toque
O sensor de toque deteta quando o botão que se encontra à superfície do sensor de toque é pressionado. É possível usar este sendor para detetar,
por exemplo, quando o robô bate em alguma coisa. Este sensor pode também ser usado para, sendo pressionado pelo dedo do utilizador, induzir
uma ação.
O sensor de toque tanto indica que está pressionado, como que não está pressionado. Não consegue medir durante quanto tempo está o sensor
pressionado ou com quanta força foi feita a pressão. A saída do sensor de toque é uma variável lógica Verdade / Falso (True /False). À posição
do sensor de toque chama-se estado do sensor e é Verdade (True) se estiver pressionado, e Falso (False) se não estiver pressionado.
O sensor de toque também pode rastrear se o botão foi premido e libertado em ações anteriores. Chama-se a esta função Bumped e é útil para
determinar se o sensor tinha sido pressionado num momento anterior ao da ação que está a decorrer.
11
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica
A função Bumped
Para além de detetar se o botão está ou não premido, o sensor de toque também guarda a informação se o sensor já foi, em momentos anteriores, premido e libertado.
A esta função chama-se Bumped. Esta função permite usar de forma simples o sensor de toque como um interruptor de pressão.
Caso o sensor de toque indique que ocorreu um Bumped, não o voltará a fazer até que o sensor de toque seja de novo pressionado e libertado, o que facilita a realização
de um programa que faça corresponder a cada toque uma ação determinada.
A tabela seguinte mostra um exemplo onde um sensor de toque é premido e libertado por duas vezes. O programa vai testando o estado da função Bumped ao longo de
oito passos.
Notar que quando o botão é mantido premido, o sensor de toque continuará a indicar Premido cada vez que o programa o testar. No entanto, assim que o botão for
libertado, o sensor só indicará Bumped na primeira vez que o programa efetuar o teste ao sensor. Para que volte a ocorrer um Bumped é necessário que se volte a premir
e a largar o botão de pressão.
12
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica
3. Entradas (Inputs)
4. Saídas (Outputs)
Parâmetros configuráveis:
Measure – Retorna o valor do estado do sensor de toque. O estado será Verdade (True) se o
State sensor de toque estiver premido; caso contrário, será Falso (False).
Neste modo, pode escolher-se o qual o estado (State) que se pretende testar no
Compare - sensor de toque (Liberto – Released, premido – Pressed ou Bumped). O valor de
State Compare Result será o valor do estado do modo selecionado. O estado do sensor
será indicado na saída Measured Value.
13
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica
Blocos usados:
Objetivo:
Criar um programa que faça o robô parar quando toca o com sensor de toque num obstáculo, fazer o som “Uh-oh”, curvar para trás e seguir depois uma trajetória reta até
encontrar um obstáculo de novo.
Solução possível:
14
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica
Solução possível:
Mover a
direção
Som
Loop
Switch
15
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica
Objetivo:
Criar um programa que faça o robô assumir três trajetórias diferentes (neste caso, andar em frente, virar para a direita, virar para a esquerda) cada vez que o botão de
pressão for premido e largado.
Solução possível:
16
Lego Ev3 – Exercícios introdutórios