310 likes | 705 Views
PROJETO LEGO MINDSTORMS EV3. Manual de Instruções da Linguagem de Blocos LEGO Laboratório de Sistemas Embarcados e Críticos (LaSEC) Lucas Mitsuo Mandai. Setembro/2014. Sumário. Introdução Lego MindStorms EV3 Home Edition Como gerenciar o Projeto no software Conjunto de Instruções
E N D
PROJETO LEGO MINDSTORMS EV3 Manual de Instruções da Linguagem de Blocos LEGO Laboratório de Sistemas Embarcados e Críticos (LaSEC) Lucas Mitsuo Mandai Setembro/2014
Sumá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çã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 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 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 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 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 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çõ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çõ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çõ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çõ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çõ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çõ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çõ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çõ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 Loop 2- Permite especificar qual a condição para finalizar o Loop
Conjunto 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çõ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á usar 2-entrada e saída de dados que mudarão dependendo do modo de comando escolhido.
Conjunto 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 novamente 2-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çõ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 sons Play 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 especifica Play 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.
Exemplos • 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.
Exemplos • 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.
Exemplos 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 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.