EV3#1: Blocos fundamentais

6
Clube de Programação e Eletrónica 1 Lego EV3 Introdução à programação PROJETO LEGO MINDSTORMS EV3 Introdução à programação – blocos fundamentais I – Painel de blocos 1. Blocos de ação: Controlam as ações do motor, como as rotações do motor, a luz e as imagens e os sons e as luzes do bloco programável. 2. Blocos de fluxo: Permitem controlar o fluxo da programação. 3. Blocos do sensor: Permitem que o programa leia as entradas onde estão ligados os sensores. 4. Blocos de dados: Permitem, entre outras operações, escrever e ler variáveis e comparar valores 5. Blocos avançados Motor médio Motor grande Mover a direção Mover tanque Monitor Som Luz de estado do bloco Iniciar Aguardar Ciclo Comutação Interromper ciclo Botões de bloco Sensor de cor Sensor de infravermelho Rotação do motor Sensor de toque Temporizador Variável Constante Operações de matriz Operações lógicas Matemática Arredondar Comparar Alcance Texto Aleatório Acesso aos arquivos Mensagens Conexão por bluetooth Manter acordado Valor bruto do sensor Motor desregulado Inverter motor Parar programa Comentário

Transcript of EV3#1: Blocos fundamentais

Page 1: EV3#1: Blocos fundamentais

Clube de Programação e Eletrónica

1 Lego EV3 – Introdução à programação

PROJETO LEGO MINDSTORMS EV3 Introdução à programação – blocos fundamentais I – Painel de blocos 1. Blocos de ação: Controlam as ações do motor, como as rotações do motor, a luz e as imagens e os sons e as luzes do bloco programável.

2. Blocos de fluxo: Permitem controlar o fluxo da programação.

3. Blocos do sensor: Permitem que o programa leia as entradas onde estão ligados os sensores.

4. Blocos de dados: Permitem, entre outras operações, escrever e ler variáveis e comparar valores

5. Blocos avançados

Motor médio

Motor grande

Mover a direção

Mover tanque

Monitor Som Luz de estado do bloco

Iniciar Aguardar Ciclo Comutação Interromper ciclo

Botões de bloco Sensor de cor Sensor de infravermelho

Rotação do motor

Sensor de toque Temporizador

Variável Constante Operações de matriz

Operações lógicas

Matemática Arredondar Comparar Alcance Texto Aleatório

Acesso aos arquivos

Mensagens Conexão por bluetooth

Manter acordado

Valor bruto do sensor

Motor desregulado Inverter

motor Parar

programa Comentário

Page 2: EV3#1: Blocos fundamentais

Clube de Programação e Eletrónica

2 Lego EV3 – Introdução à programação

II – Conjunto de instruções 1. Motor médio

Nome: Medium Motor Descrição: Localizado na aba Action (verde) O bloco Medium Motor controla o “motor médio” que é motor menos potente, porém mais rápido do Mindstorm EV3. Parâmetros configuráveis: 1. Permite escolher o modo de rotação do motor:

Off: Motor parado. On: Gira motor até que o próximo comando entre em ação. On for Seconds: Gira o motor por uma quantidade determinada de segundos. On for Degrees: Gira o motor por uma quantidade de graus determinada, sendo que 360 graus equivale a uma volta completo. On for Rotations: Gira o motor por um quantidade de rotações.

2. Permite escolher a força com que o motor irá girar, sendo que se usar valores negativos a rotação será inversa. 3. Permite escolher a quantidade de rotações, graus ou segundos que o motor executará dependendo do modo escolhido. 4. Permite escolher, depois do comando ser executado, se o motor para instantaneamente ou por inércia. 5. Permite selecionar a porta na qual o motor esta conectado com o Brick (centro de controle do Lego Mindstorms EV3).

2. Motor grande

Nome: Large Motor Descrição: Localizado na aba Action (verde) o bloco Large Motor controla um único Large motor (motor grande usado para girar a roda do robô) possibilitando especificar a quantidade de força e giro de uma das rodas. Parâmetros configuráveis: 1. Permite escolher o modo de rotação do motor (Off, On, On for Degrees, On for Seconds e On for Rotations). 2. Permite escolher a força com que o motor irá girar. 3. Permite escolher a quantidade de rotações, graus ou segundos que o motor executará dependendo do modo escolhido. 4. Permite escolher se depois do comando ser executado, o motor para instantaneamente ou por inércia. 5. Permite selecionar a porta na qual o motor está conectado com o Brick.

Page 3: EV3#1: Blocos fundamentais

Clube de Programação e Eletrónica

3 Lego EV3 – Introdução à programação

3. Mover a direção

Nome: Move Steering Descrição: Localizado na aba Action (verde) O Move Sterring controla dois Large Motors simultaneamente e possibilita configurar a direção na qual que o robô se move. Parâmetros configuráveis: 1- Permite escolher o modo de rotação do motor (Off, On, On for Degrees, On for Seconds e On for Rotations). 2- Permite escolher a direção do robô, configura a intensidade da curva desejada. Pode ser definido entre -100 e +100. Se deixar o valor como zero o robô mover-se-à em linha reta; definindo-o como -50 ou +50, apenas uma roda girará enquanto a outra fica parada, oferecendo um mudança de direção “média”; definindo-o como -100 ou +100, um roda girará num sentido e a outra noutro, fazendo o robô girar em torno de si próprio. 3- Permite escolher a força (a velocidade) com que o motor irá girar. 4- Permite escolher a quantidade de rotações, graus ou segundos que os motores executarão dependendo do modo escolhido – atenção que tanto a quantidade de rotações como graus se referem à rotação dos motores (e das rodas) e não ao robô em si! 5- Permite escolher se depois do comando ser executado, o motor para instantaneamente ou por inércia. 6- Permite selecionar as portas na qual os motores estão conectado com o Brick.

4. Mover tanque

Nome: Move Tank Descrição: Localizado na aba Action (verde), controla dois Large Motors. O que o torna diferente do bloco Move Steering é que neste é possível escolher a força com que cada um dos motores funcionará Parâmetros configuráveis: 1- Permite escolher o modo de rotação do motor (Off, On, On for Degrees, On for Seconds e On for Rotations). 2- Permite escolher a força de cada um dos motores podendo, por exemplo, fazer com que uma roda gire para frente e a outra gire para trás. 3- Permite escolher a quantidade de rotações, graus ou segundos que os motores executarão dependendo do modo escolhido. 4- Permite escolher se depois do comando ser executado, o motor para instantaneamente ou por inércia. 5- Permite selecionar as portas na qual os motores estão conectado com o Brick.

Page 4: EV3#1: Blocos fundamentais

Clube de Programação e Eletrónica

4 Lego EV3 – Introdução à programação

5. Som

Nome: Sound Descrição: Localizado na aba Action (verde) este bloco permite que seu Brick emita sons de acordo com o modo escolhido que pode ser o Play File, Play Tone e Play note. Parâmetros configuráveis: 1: Permite escolher os modos de sons:

Play file: neste modo você pode escolher arquivos de sons pré gravados disponibilizados numa lista localizados no campo File Name; Play Tone: este modo permite tocar um tom de uma frequência sonora especifica; Play Note: este modo permite tocar uma nota musical selecionada.

2: Entrada de dados onde se pode, por exemplo, configurar o volume, a frequência ou nota musical e o tipo de quantidade de vezes que o som será executado.

6. Iniciar Nome: Start Descrição: O bloco Start marca o início da sequência de programação fazendo com que o programa inicie automaticamente. Um projeto que não inicie com o bloco Start, nenhum bloco de comando será executado.

7. Aguardar

Nome: Wait Descrição:Localizado na aba Flow Control (laranja), o Wait faz o programa esperar por alguma condição antes de poder continuar para o próximo bloco da sequência. Parâmetros configuráveis: 1- Seleciona o modo de espera. Existem os modos de espera Time, Sensor Compare Modes e Sensor Change Modes.

Modo Time: espera por um determinado período de tempo em segundos. Se for usado um Wait para um sensor, poder-se-à selecionar o modo Compare que espera até chegar a determinado valor de comparação ou selecionar o Change que espera até mudar para um determinado valor.

2- Entrada de dados onde se pode especificar os valores de tempo, mudança e comparação entre parâmetros dos sensores.

Page 5: EV3#1: Blocos fundamentais

Clube de Programação e Eletrónica

5 Lego EV3 – Introdução à programação

8. Ciclo Nome: Loop Descrição:Localizado na aba Flow Control (laranja) este bloco funciona como uma estrutura de repetição fazendo com que o conteúdo dentro dele se repita de acordo com a configuração definida, podendo se repetir por uma quantidade de tempo determinada, repetir para sempre ou até que atinja uma condição imposta pelos sensores. Parâmetros configuráveis: 1- Permite escolher um nome para o Loop 2- Permite especificar qual a condição para finalizar o Loop

9. Comutação Nome: Switch Descrição: O bloco Switch funciona como uma estrutura de decisão. Se a estrutura de decisão for verdadeira, o Switch executará a sequência de programação da parte de cima; se for falsa, executará a sequência de programação da parte de baixo Parâmetros configuráveis: 1- Escolhe qual modo de decisão que o programa executará

10. Sensor de cor

Nome: Color Sensor Descrição: Localizado na aba Sensor (amarela), o bloco Color Sensor é utilizado para comparar ou medir cor ou intensidade de luz Parâmetros configuráveis: 1- Escolhe o modo de utilizar o sensor de cor podendo medir (Measure) ou comparar (Compare) uma determinada cor, intensidade de luz refletida ou a intensidade de luz do ambiente. Pode-se também calibrar (Calibrate) o sensor definindo o mínimo e o máximo de intensidade de luz que o sensor deverá usar 2-entrada e saída de dados que mudarão dependendo do modo de comando escolhido.

Page 6: EV3#1: Blocos fundamentais

Clube de Programação e Eletrónica

6 Lego EV3 – Introdução à programação

11. Temporizador

Nome: Timer Descrição: Localizado na aba Sensor (amarela), o Timer pode ser usado para medir e comparar intervalos de tempo em segundos. Parâmetros configuráveis: 1- Escolhe o modo do timer a ser executado, podendo medir (measure) um intervalo de tempo, comparar (compare) um intervalo de tempo ou resetar o tempo a fim de que começar a contagem novamente. 2- Entrada e saída de dados que dependerão do modo selecionado. É possível entrar com valores para definir o intervalo de tempo ou usar as saídas de dados para conectar o Timer com outros blocos utilizando os valores configurados.

Adaptado de “Projeto Lego Mindstorm EV3”, Lucas Mitsuo Mandai