Clube de Programação e Eletrónica
5
Lego Ev3 – Exercícios introdutórios
PROJETO LEGO MINDSTORMS EV3
Exercícios introdutórios
1. O sensor de ultrassons
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.
O bloco de programação do sensor de ultrassons não está automaticamente disponível no software EV3. Há que fazer o
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
Clube de Programação e Eletrónica
6
Lego Ev3 – Exercícios introdutórios
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 –
Distance -
Centimeters
Retorna à saída o valor da distância em
centímetros
Measure –
Distance -
Inches
Retorna à saída o valor da distância em
polegadas
Measure –
Presence /
Compare -
Presence
Neste modo, o sensor de ultrassons
“ouve” os sinais enviados por outro
sensor de ultrassons em modo “listen
only”.
Retorna à saída o valor Verdade se for
detetado um sinal; caso contrário,
retorna à saída o valor Falso.
Advanced -
Centimeters
Idêntico ao modo Measure – Distance –
Centimeters, mas neste modo é possível
escolher se o sensor está a enviar um
impulso de ultrassom ou um sinal
contínuo. Para além do valor da
distância em centímetros, este bloco
retornará na saída Ultrasound detected
Clube de Programação e Eletrónica
7
Lego Ev3 – Exercícios introdutórios
o valor Verdadeiro se um sinal for
detetado e, caso contrário, o valor falso.
Compare –
Distance -
Centimeters
Neste modo, é feita a comparação
entre a distância em centímetros e um
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 –
Distance -
Inches
Idêntico ao modo Compare – Distance –
Centimeters, mas medindo os valores
da distância em polegadas.
Advanced -
Inches
Idêntico ao modo Advanced -
Centimeters, mas medindo os valores
da distância em polegadas.
Clube de Programação e Eletrónica
8
Lego Ev3 – Exercícios introdutórios
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:
Clube de Programação e Eletrónica
9
Lego Ev3 – Exercícios introdutórios
1.3.2. “Reclamar” para que o caminho seja desobstruído
Blocos usados:
Iniciar Mover
a
direção
Esperar Loop Som
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:
Clube de Programação e Eletrónica
10
Lego Ev3 – Exercícios introdutórios
1.3.3. Manter a distância
Blocos usados:
Iniciar Mover
a
direção
Loop Switch
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:

EV3#3: Exercicios com o sensor de ultrassons

  • 1.
    Clube de Programaçãoe Eletrónica 5 Lego Ev3 – Exercícios introdutórios PROJETO LEGO MINDSTORMS EV3 Exercícios introdutórios 1. O sensor de ultrassons 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. O bloco de programação do sensor de ultrassons não está automaticamente disponível no software EV3. Há que fazer o 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
  • 2.
    Clube de Programaçãoe Eletrónica 6 Lego Ev3 – Exercícios introdutórios 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 – Distance - Centimeters Retorna à saída o valor da distância em centímetros Measure – Distance - Inches Retorna à saída o valor da distância em polegadas Measure – Presence / Compare - Presence Neste modo, o sensor de ultrassons “ouve” os sinais enviados por outro sensor de ultrassons em modo “listen only”. Retorna à saída o valor Verdade se for detetado um sinal; caso contrário, retorna à saída o valor Falso. Advanced - Centimeters Idêntico ao modo Measure – Distance – Centimeters, mas neste modo é possível escolher se o sensor está a enviar um impulso de ultrassom ou um sinal contínuo. Para além do valor da distância em centímetros, este bloco retornará na saída Ultrasound detected
  • 3.
    Clube de Programaçãoe Eletrónica 7 Lego Ev3 – Exercícios introdutórios o valor Verdadeiro se um sinal for detetado e, caso contrário, o valor falso. Compare – Distance - Centimeters Neste modo, é feita a comparação entre a distância em centímetros e um 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 – Distance - Inches Idêntico ao modo Compare – Distance – Centimeters, mas medindo os valores da distância em polegadas. Advanced - Inches Idêntico ao modo Advanced - Centimeters, mas medindo os valores da distância em polegadas.
  • 4.
    Clube de Programaçãoe Eletrónica 8 Lego Ev3 – Exercícios introdutórios 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:
  • 5.
    Clube de Programaçãoe Eletrónica 9 Lego Ev3 – Exercícios introdutórios 1.3.2. “Reclamar” para que o caminho seja desobstruído Blocos usados: Iniciar Mover a direção Esperar Loop Som 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:
  • 6.
    Clube de Programaçãoe Eletrónica 10 Lego Ev3 – Exercícios introdutórios 1.3.3. Manter a distância Blocos usados: Iniciar Mover a direção Loop Switch 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: