Download - PROJETO LEGO MINDSTORMS EV3
PROJETO LEGO PROJETO LEGO MINDSTORMS EV3MINDSTORMS EV3
Manual de Instruções da Linguagem de Blocos LEGOLaboratório de Sistemas Embarcados e Críticos (LaSEC)
Lucas Mitsuo Mandai
Setembro/2014
SumárioSumário
• Introdução• Lego MindStorms EV3 Home Edition• Como gerenciar o Projeto no software• Conjunto de Instruções• Exemplos• Carregando seu programa no Brick
IntroduçãoIntrodução O Lego Mindstorms EV3 é muito mais do que um simples
brinquedo ele é na verdade um kit de ampla utilidade concebido para fazer estudantes a pensarem sobre padrões e estruturas não apenas de robótica, mas também de programação e resolução de problemas de forma mais geral.
Para programar a Lego disponibiliza um software que oferece uma linguagem de programação em blocos onde cada um desses blocos apresenta funcionalidades que permitem a execução de comandos específicos permitindo uma interação fácil e intuitiva com o software.
Neste guia encontraremos um passo a passo de como começar a criar um projeto no EV3 software e uma breve descrição de seus principais blocos de comando.
Lego MindStorms EV3 Home EditionLego MindStorms EV3 Home Edition
A primeira vista o software LEGO MINDSTORMS EV3 Home Editon apresenta em seu Lobby uma variedade de opções como a área de Robot Missions onde você pode começar aprender, construir e programar os 5 principais modelos de robôs, a área que contém alguns vídeos de auxilio aos iniciantes e a área EV3 Help onde há um guia do software em geral, inclusive suas ferramentas e blocos programáveis .
Neste manual trataremos apenas do que convém a criação de um projeto dando ênfase a familiarização do usuário com o ambiente de programação.
Lego MindStorms EV3 Home EditionLego MindStorms EV3 Home Edition
• Para começar a primeira coisa que deve ser feita é baixar e fazer a instalação do software. Para isso basta acessar o link do site da Fatec:
• http://goo.gl/ozvqsH
• ou baixar diretamente do site da Lego através do link:http://www.lego.com/en-us/mindstorms/downloads/software/ddsoftwaredownload/download-software/
• Por fim execute e instale o software normalmente seguindo as instruções.
Como gerenciar o projeto no softwareComo gerenciar o projeto no software
Depois de abrir o EV3 Software o primeiro passo para dar inicio ao seu projeto é clicando em Add Project ou clicando no menu File e selecionando a opção New Project.
Caso já tenha um projeto pronto basta ir no menu File e selecionar a opção Open Project.
Após feito um desses procedimentos você será direcionado ao ambiente de programação
Como gerenciar o projeto no softwareComo gerenciar o projeto no software
Para criar um programa selecione a aba na qual o bloco de comando que você deseja utilizar esteja localizado, em seguida clique no bloco e arraste até a tela de programação de forma a conecta-lo com o bloco Start. Adicione quantos blocos forem precisos, o seu programa será executado de acordo com a ordem em que seus blocos estão dispostos na tela (da esquerda para direita).
Como gerenciar o projeto no softwareComo gerenciar o projeto no software
Após concluir seu projeto, para salvar clique no menu File no canto superior direito e selecione a opção Save Project As ou clique em Save Project na barra de ferramentas. Feito isso seu programa estará pronto para uso, agora é só conectar o Brick ao computador, transferir o programa para o robô e executá-lo .
Conjunto de InstruçõesConjunto de Instruções
O EV3 software possui uma variedade de blocos programáveis permitindo criar diversas sequências de programação fazendo com que seu Lego Mindstorm possa se comportar das mais criativas e diferentes formas possíveis.
Em seguida serão mostrados os blocos de comandos básicos para que você possa começar a elaborar seus primeiros programas e exercitar seus algoritmos utilizando o Mindstorm EV3.
Conjunto de InstruçõesConjunto de Instruções
• Nome: Start• Descrição: O bloco Start marca o inicio da
sequência de programação fazendo com que seu programa inicie automaticamente. Se o seu projeto não iniciar com o bloco Start nenhum bloco de comando será executado.
Conjunto de InstruçõesConjunto de Instruções• 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 , sendo eles:Off: Motor parado.On: Girar 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 um giro completo.On for Rotations: Gira o motor por um quantidade de rotações.2- Permite escolher a força 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 se depois que o comando for executado o motor parará 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).
Conjunto de InstruçõesConjunto de Instruções• 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 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 que o comando for executado o motor parará instantaneamente ou por inércia.5- Permite selecionar a porta na qual o motor esta conectado com o Brick.
Conjunto de InstruçõesConjunto de Instruções• Nome: Move Steering• Descrição: Localizado na aba Action (verde) O Move Sterring
controla dois Large Motors simultaneamente e possibilita configurar a direção em que você deseja que seu robô se locomova.
• 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. Se deixar o valor como zero o robô se locomoverá reto. 3- Permite escolher a força 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.5- Permite escolher se depois que o comando for executado os motores pararão instantaneamente ou por inércia.6- Permite selecionar as portas na qual os motores estão conectado com o Brick.
Conjunto de InstruçõesConjunto de Instruções
• Nome: Move Tank• Descrição: Localizado na aba Action (verde) Controla
dois Large Motors , o que o difere do bloco Move Steering é que neste você pode escolher a força com que cada um dos motores funcionarão
• 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 que o comando for executado os motores pararão instantaneamente ou por inércia. 5- Permite selecionar as portas na qual os motores estão conectado com o Brick.
Conjunto de InstruçõesConjunto de Instruções• Nome: Wait• Descrição:Localizado na aba Flow Control (laranja) o Wait faz
seu 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. Existe 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 usar um Wait para um sensor então você poderá selecionar o modo Compare que espera até chegar a determinado valor de comparação ou selecionar o Change que espera até mudar para um novo valor determinado 2- Entrada de dados onde você pode especificar os valores de tempo, mudança e comparação entre parâmetros dos sensores
Conjunto de InstruçõesConjunto de Instruções• 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 Loop2- Permite especificar qual a condição para finalizar o Loop
Conjunto de InstruçõesConjunto de Instruções
• 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 o programa executará
Conjunto de InstruçõesConjunto de Instruções
• 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 que deseja 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. Também calibrar (Calibrate) o sensor definindo o mínimo e o máximo de intensidade de luz que o sensor deverá usar2-entrada e saída de dados que mudarão dependendo do modo de comando escolhido.
Conjunto de InstruçõesConjunto de Instruções• 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 que queira que o timer seja executado, podendo medir (measure) um intervalo de tempo, comparar (compare) um intervalo de tempo ou resetar o tempo afim de que comece a contagem novamente2-Entrada e saída de dados que dependerão do modo selecionado. Você pode entrar com valores que definiram o intervalo de tempo ou usar as saídas de dados para conectar o Timer com outros blocos utilizando os valores configurados.
Conjunto de InstruçõesConjunto de Instruções• 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 sonsPlay file: neste modo você pode escolher arquivos de sons pré gravados disponibilizados em uma lista localizado no campo File Name.Play Tone: este modo permite tocar um tom de uma frequência sonora especificaPlay Note: este modo permite tocar uma nota musical selecionada.2: Entrada de dados onde você pode, por exemplo, configurar o volume, a frequência ou nota musical e o tipo de quantidade de vezes que o som será executado.
ExemplosExemplos
• Exemplo 1:
• O exemplo acima utiliza os blocos Move Stereeing, Wait e Sound.• O primeiro bloco faz o robô andar para frente com 25% de sua força. O segundo
bloco espera até que o sensor de cor reflita uma intensidade de luz menor que 30 (quanto mais perto do zero mais próximo da cor preta). O terceiro bloco para o robô e em seguida o quarto bloco faz ele dizer stop.
ExemplosExemplos• Exemplo 2:
• No exemplo acima foi utilizado o bloco de comando Loop e Move Steering• Esta sequência de programação fará o robô andar para frente com 25% de
sua força durante duas rotações do motor completas e em seguida ele virará em torno do próprio eixo executando apenas um rotação de motor completa, como está dentro do loop esta sequência será executada repetidas vezes ilimitadamente fazendo com que o robô siga para varias direções diferentes.
ExemplosExemplos
Exemplo 3:
Este programa utiliza os blocos Loop, Switch e Move Steering.Existe um Switch que usa o modo Compare Ambient Light Intensity do sensor de cor que está configurado para que se a luz do ambiente tiver uma intensidade maior que 20 o robô ande para frente e se a intensidade de luz do ambiente detectada pelo sensor de cor for menor que 20 então o robô para, ou seja, se a luz do ambiente estiver acesa o robô anda e se a luz estiver apagada o robô para. Isso ocorrerá ilimitadas vezes porque toda a sequencia de programação está dentro do bloco Loop .
Carregando seu programa no BrickCarregando seu programa no Brick
• Para poder executar seu programa é preciso passa-lo para o Brick. Você poderá fazer isso conectando o Brick com o computador através de um cabo USB ou utilizando tanto Bluetooth quanto Wi-Fi.
• Neste caso usaremos a conexão via USB, para isso insira o conector mini USB na porta PC do Brick e insira o conector USB no computador.
• Certifique-se de que o Brick está ligado e verifique no EV3 software a área Available Bricks se a conexão está estabelecida.
• Agora basta clicar em Download para o seu programa ser transferido.