Você está na página 1de 6

Clube de Programação e Eletrónica

PROJETO LEGO MINDSTORMS EV3

Exercícios introdutórios
O bloco de programação do sensor de ultrassons não está automaticamente disponível no software EV3. Há que fazer o

1. O sensor de ultrassons
download do bloco de programação a partir daqui: http://www.lego.com/en-us/mindstorms/downloads

Depois de feito o download, procede-se à importação do bloco a partir do software do EV3 através do menu Tools 
Block Import

O Sensor de ultrassons

O sensor de ultrassons mede a distância a um objeto que se encontre à sua frente. Fá-lo enviando som na frequência dos
ultrasons e medindo o tempo que a onda sonora demora a voltar ao sensor depois de ser refletida por um objeto. Não é possível
ouvirmos o som que este sensor emite porque o ouvido humano não está preparado para detetar sons de frequências tão
elevadas.

A medida feita pelo sensor pode ser feita em centímetros ou em polegadas (1 polegada = 2,54 cm).

Com este sensor podemos, por exemplo, fazer parar o nosso robô a uma dada distância de uma parede. Também o podemos
usar para detetar a presença de outro sensor de ultrassons a operar na vizinhança.

O sensor de ultrassons pode fornecer os seguintes dados:

Dados Tipo Alcance Notas


Distância em centímetros1 Numérico 0 a 255 Distância ao objeto em centímetros
Distância em polegadas Numérico 0 a 100 Distância ao objeto em polegadas
Deteção de ultrassons Lógico Verdade / falso (True /false) Verdade se outro sensor de ultrassons for detetado.

1
Talvez por estar descalibrado, o sensor usado nestes exercícios apresentava como resultado valores em milímetros, não em centímetros, pelo que os valores indicados nos exercícios
devem ser divididos por 10 em caso de sensores que estejam a fazer medidas de facto em centímetros.

5
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica

1.2. O bloco de programação do sensor de ultrassons

1. Seleção da porta onde está ligado o sensor (Port seletor)

2. Seleção do modo de funcionamento (Mode selector)

3. Entradas (Inputs)

4. Saídas (Outputs)

Parâmetros configuráveis:

1. Seleção do modo de funcionamento:

Modo Função Bloco Modo Função Bloco

Measure – Measure –
Retorna à saída o valor da distância em Retorna à saída o valor da distância em
Distance - Distance -
centímetros polegadas
Centimeters Inches

Neste modo, o sensor de ultrassons Idêntico ao modo Measure – Distance –


“ouve” os sinais enviados por outro Centimeters, mas neste modo é possível
Measure –
sensor de ultrassons em modo “listen escolher se o sensor está a enviar um
Presence / Advanced -
only”. impulso de ultrassom ou um sinal
Compare - Centimeters
Retorna à saída o valor Verdade se for contínuo. Para além do valor da
Presence
detetado um sinal; caso contrário, distância em centímetros, este bloco
retorna à saída o valor Falso. retornará na saída Ultrasound detected

6
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica
o valor Verdadeiro se um sinal for
detetado e, caso contrário, o valor falso.

Compare – Neste modo, é feita a comparação


Distance - entre a distância em centímetros e um
Centimeters valor pré-determinado (threshold
value) através do tipo de comparação
(Compare type). Retorna à saída
Compare result um sinal de Verdadeiro
/ Falso (True/False). Retorna à saída
Distance in centimeters o valor da
distância em centímetros.

Compare – Idêntico ao modo Compare – Distance – Idêntico ao modo Advanced -


Advanced -
Distance - Centimeters, mas medindo os valores Centimeters, mas medindo os valores
Inches
Inches da distância em polegadas. da distância em polegadas.

7
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica

1.3. Programando com o sensor de ultrassons

1.3.1. Fazer curva perante um obstáculo


Blocos usados:

Iniciar Mover a direção Esperar Loop

Objetivo:

Criar um programa que faça o robô seguir em linha reta até que encontre um obstáculo. Quando tal acontecer, deve fazer uma curva e continuar a andar em linha reta.

Solução possível:

8
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica

1.3.2. “Reclamar” para que o caminho seja desobstruído


Blocos usados:

Iniciar Mover Esperar Loop Som


a
direção

Objetivo:

Criar um programa que faça o robô seguir em linha reta até que encontre um obstáculo. Quando tal acontecer, deve fazer para enquanto emite um som. Depois do
obstáculo se mover deve continuar em linha reta.

Solução possível:

9
Lego Ev3 – Exercícios introdutórios
Clube de Programação e Eletrónica

1.3.3. Manter a distância


Blocos usados:

Iniciar Mover Loop Switch


a
direção

Objetivo:

Criar um programa que faça o robô manter a


distância de um obstáculo que se aproxime ou
se afaste (uma pessoa, por exemplo). Quando
algo ou alguém se aproximar, o robÓ deve
afastar-se; quando algo ou alguém se afastar, o
robô deve aproximar-se.

Solução possível:

10
Lego Ev3 – Exercícios introdutórios