Engenharia Unificada I - ebm.ufabc.edu.brebm.ufabc.edu.br/wp-content/uploads/2011/10...Usando os...
Transcript of Engenharia Unificada I - ebm.ufabc.edu.brebm.ufabc.edu.br/wp-content/uploads/2011/10...Usando os...
Engenharia Unificada I
Tutorial – Lego Mindstorms NXT
Programa para programação em diagrama de blocos para o NXT.
Blocos de ação:
- Bloco “Move”
Com um bloco “move”, é possível controlar uma ou duas saídas do
controlador, que no caso, estarão controlando os motores. O menupermite escolher a direção da rotação, a duração e a potência.
- Bloco “Record/Play”
Com um bloco “record/play”, é possível gravar ou reproduzir
comandos executados pelo robô em um arquivo txt.
Blocos de ação:
- Bloco “Sound”
Com um bloco “sound”, o NXT emite sons, que podem ser tons
simples, sons que estão disponíveis no programa, ou qual quer outrosom polifônico pode ser adicionado .
Blocos de ação:
- Bloco “Display”
Com um bloco “display”, o NXT exibe imagens em seu display, que
podem ser simples textos, ou imagens como emoticons, entre outros.
Blocos de ação:
- Bloco “Wait”
Com um bloco “Wait”, é possível interromper o fluxo do programa,
até que determinada condição seja atendida, a condição pode ser umperíodo de tempo ou o acionamento de algum dos sensores.
Blocos de Lógica:
- Bloco “Loop”
Um bloco “Loop” permite que parte do programa seja repetida
várias vezes até que a condição de saída do loop seja atendida, ascondições de saída podem ser acionadas por sensores, tempo oucontadores.
Blocos de Lógica:
- Bloco “Switch”
Um bloco “Switch” funciona como um “if/else”, dada uma
condição, se a mesma for atendida o programa executará uma linha deações, caso contrário, executará outra. A condição pode serdeterminada pelos sensores.
Blocos de Lógica:
Exemplo:Supondo que o robô tenha
sua roda direita controlada pelasaída C do NXT e a esquerda pelasaída B. No exemplo acima, o NXTentraria no loop, em seguida nocomando “switch”, que aciona osensor de ultrassom. Caso adistância seja maior do que 50cm,executará a primeira linha decomando que contém um bloco“move” acionando os 2 motores,fazendo o robô andar em linhareta, caso contrário, executará asegunda linha, que contém umbloco “move” acionando apenas omotor da direita (C), levando orobô a fazer uma curva paraesquerda. Após executada umadas duas linhas, analisa-se acondição do loop, que no exemploestá marcado como infinito, entãoo ciclo recomeça.
Usando os blocos vamos criar um programa.
O programa deve fazer o robô começar a andar ao seracionado por toque, parar quando estiver próximo a algumobstáculo. Então girar para a esquerda até captar algum som,após girar deve esperar um toque para recomeçar a andar.
Programa para Modelo do guia NXT:
Programa para Modelo do guia NXT:
Passo 1:
Crie um loop infinito, arrastando-o para a linha de programação.
Programa para Modelo do guia NXT:
Passo 2:
Arraste um bloco “switch” para dentro do “loop”, e configure para sensor de toque da seguinte maneira:
Programa para Modelo do guia NXT:Passo 3:
Coloque um novo “loop”, controlado por sensor de ultrassom, e dentro do loop um bloco “move”, com as seguintes configurações:
Programa para Modelo do guia NXT:Passo 4:
Coloque um novo “loop”, controlado por sensor de som, e dentro do loop um bloco “move”, com as seguintes configurações:
Programa para Modelo do guia NXT:Passo 5:
Por fim, coloque um bloco “move” com o botão “stop” selecionado na linha de cima e um “sound” na linha de baixo, apenas para poder perceber quando o NXT estiver executando-a.
Programa para Modelo do guia NXT:Programa completo:
Após concluir o programa salve com o nome “tutorial”, conecte o
NXT ao computador com o cabo USB com o NXT ligado.
Em seguida Clique em download.
Aguarde a transferência e depois remova o cabo.
Agora no menu do NXT entre em “my files”, procure “tutorial”
confirme, em seguida selecione “run” e confirme novamente.