Post on 18-Jan-2017
RAYNER DE MELO PIRES
ANA PAULA SUZUKI
ANDRÉ REIS DE GEUS
GABRIELA QUIRINO PEREIRA
SALVIANO LUDGÉRIO FELIPE GOMES
INTRODUÇÃO À PROGRAMAÇÃO COM ROBÔS LEGO
JULHO DE 2010
SSUMÁRIOUMÁRIO
1 O que é o NXT?.........................................................................................4
2 Explicando o NXT.....................................................................................4As portas de entrada e saída.................................................................5
O visor...................................................................................................6
O alto falante.........................................................................................6
Os botões de navegação .......................................................................6
3 Explicando os sensores..............................................................................7Sensor de luz..........................................................................................7
Sensor de toque......................................................................................7
Sensor de Ultrassom .............................................................................8
Sensor de Som........................................................................................8
4 Explicando os Servomotores ....................................................................9Sensor de rotação embutido .................................................................9
5 A montagem do nosso modelo.................................................................10
6 O que é programação?.............................................................................43
7 O que é lógica de programação?..............................................................43
8 O que é um algoritmo?............................................................................43
9 Comandos de Controle............................................................................44Operadores Lógicos.............................................................................46
Operadores Relacionais......................................................................47
10 O que é entrada e saída de dados?.........................................................48
11 O software..............................................................................................51Transferindo um programa para o NXT .............................................53
Paleta Padrão (Common Pallete).......................................................55
Paleta Completa (Complete Pallete)...................................................69
Paleta Personalizada (Custom Pallete) .............................................79
Introdução à Programação com Robôs Lego
O que é o NXT?O que é o NXT?O Lego Mindstorms NXT mais se parece com um brinquedo, e é
utilizado amplamente em todo o mundo por escolas, universidades, emesmo por crianças.
Na verdade ele é um kit de robô programável, voltado para a educaçãotecnológica1, lançado pela Lego em Julho de 2006, substituindo a primeirageração do kit Lego Mindstorms. O nosso kit é o Kit Base 9797 e écomposto por 431 peças: 3 servomotores2, 4 sensores (toque, som, luz eultrassom), 7 cabos para conexões com motores e sensores, um cabo parainterface USB, o Brick Inteligente NXT, que é o corpo central do robô,bateria recarregável, base giratória, rodinhas com pneus e várias peçasconhecidas como Lego Technic, como blocos, vigas, eixos, rodas,engrenagens e polias.
O Brick NXT (em português, tijolo) é o cérebro dessas pequenasmáquinas. Ele viabiliza autonomia na execução de diferentes tarefas taiscomo a criação, programação e montagem de robôs com noções dedistância, capazes de reagir a movimentos, ruídos e cores3, e de executarmovimentos com razoável grau de precisão. O kit também inclui o NXT-G,um ambiente de programação gráfico que possibilita a criação e o downloadde programas para o NXT.
Os novos modelos permitem que se criem não apenas estruturas, mastambém comportamentos, permitindo a construção de modelos interativos,com os quais se pode aprender conceitos básicos de ciência e de engenharia.Os empregos didáticos abrangem as áreas de robótica, controle, automação,física, matemática, programação e projetos.
1 O lema da Educação Tecnológica é preparar os estudantes para não serem apenasusuários de ferramentas tecnológicas, mas capazes de criar, solucionar problemas e usaros tipos de tecnologia de forma racional, efetiva e significativa.
2 Servomotor é uma máquina, mecânica ou eletromecânica, que apresenta movimentoproporcional a um comando, em vez de girar ou se mover livremente sem um controlemais efetivo de posição como a maioria dos motores.
3 Neste caso, para a percepção de cores é necessário a utilização do sensor de cores, quenão acompanha o kit 9797.
6
Introdução à Programação com Robôs Lego
ExplicandoExplicando o NXT o NXT
Como já foi dito, o Brick NXT é o corpo central do robô. Neleconectaremos cabos que vão até os motores e cabos que vêm dos sensores.Ele será como o cérebro (e como o coração). Nele está contido oprocessador, que receberá os programas que criaremos e então osinterpretará (executará) fazendo o robô montado ganhar movimentos.
Para facilitar a comunicação e melhorar a compreensão dessa apostilapelos leitores, aqui vamos nos referenciar ao Brick NXT somente comoNXT.
As portas de entrada e saídaAs portas de entrada e saída
Como mostrado na figura acima, o NXT possui três portas de saída(output), onde se conectam os motores. Essas portas estão acima do visor(portas A, B e C). Abaixo dos botões estão mais quatro portas, agora as deentrada (input), onde se conectam os sensores (portas 1, 2, 3 e 4). Éimportante checar com atenção se os motores e sensores estão conectadoscorretamente pois eles não são permutáveis.
7
Introdução à Programação com Robôs Lego
A porta USB para comunicação com o software está próxima às portasde comunicação com os motores. Através dela podemos instalar osprogramas do computador para o robô, e também coletar dados do robô parao computador. Caso não queiramos fazer essa comunicação através de fios,podemos utilizar o bluetooth, também disponível no NXT. Desse modoprecisaremos do nome do NXT, que é mostrado no visor.
O visorO visor
Na parte superior do visor, no canto esquerdo, vemos ícones queinformam sobre o status e da conexão bluetooth ou USB do robô. No cantodireito vemos o ícone da bateria informando a carga disponível.
8
Introdução à Programação com Robôs Lego
Na parte de baixo do visor é mostrado os menus disponíveis no NXT.
O alto falanteO alto falante
O alto falante encontra-se na lateral direita do NXT.
Crie programas com sons reais e os ouça quando executar o programa.
Os botões de navegaçãoOs botões de navegação
O botão central - laranja - é a tecla Enter do robô. Ele também é usadopara ligar o robô.
As setas direcionais - em cinza claro - são utilizadas para a navegaçãonos menus disponíveis no visor.
O botão inferior - em cinza escuro - é utilizado para a navegação nos
9
Introdução à Programação com Robôs Lego
diferentes níveis dos menus. Geralmente é utilizado como o botão Voltar.Também é usado para desligar o robô.
Faça você mesmo!
Com o NXT na mão veja como ele é ligado e desligado.
ExplicandoExplicando os sensores os sensoresOs sensores biológicos do nosso corpo são células especializadas que
são sensíveis a temperatura, luminosidade, vibração, toxinas, hormônios,proteínas, entre outros. No caso dos nossos robôs, podemos pegar adefinição do dicionário:
"Designação comum de dispositivos elétricos, eletrônicos,
mecânicos ou biológicos capazes de responder a estímulos de
natureza física (temperatura, pressão, umidade, velocidade,
aceleração, luminosidade e etc.). São utilizados em sistemas de
controle e monitoramento."
No nosso kit temos quatro sensores: o de luz, o de toque, o deultrassom e o de som.
Vamos ver para que serve cada um?
SensorSensor de luz de luz
O sensor de luz é um dos dois sensores que dá visão aorobô (o sensor de ultrassom é o outro). É ele que permite queo robô distingua entre claro e escuro – branco e preto. Elepode ler a intensidade de luz numa sala e pode medir aintensidade de luz em superfícies coloridas.
Sugestões para uso
Você pode usar o sensor de luz para criar um robô alarme de
assaltante: quando um intruso entrar numa sala e acender a lâmpada o robôpode reagir e defender sua propriedade. Você também pode usar o sensor de
10
Introdução à Programação com Robôs Lego
luz para criar um robô que segue linhas ou um robô que classifica coisas porcores.
Detectando a luz ambiente
Teste a habilidade do sensor de luz em detectar a luz ambientemedindo os níveis de luz em diferentes locais da sala. Por exemplo, aponte osensor em direção à janela. Então aponte-o para baixo da mesa. Veja comomodificam as leituras.
Faça você mesmo!
Conecte o sensor ao NXT. Selecione no visor o submenu View.Selecione o ícone do sensor de luz e a porta onde você o conectou, epressione o botão Run (botão laranja). Agora aponte o sensor para asdiferentes cores disponíveis na folha de teste de cores. (Caso a sua apostilaesteja em preto e branco pergunte ao monitor sobre a folha de testecolorida).
Try me
O NXT vêm com a função Try Me. Conecte o sensor de luz à porta 3do NXT e selecione o menu "Try Me" no NXT para testar o sensor de luz.Você terá uma reação divertida.
SensorSensor de toque de toque
O sensor de toque concede ao robô o sentido do tato.Ele detecta quando o botão do sensor está sendopressionado, indicando que está em contato com algumacoisa, e também quando ele é liberado.
Sugestões para uso
Você pode usar o sensor de toque para fazer seu robô pegar coisas: umbraço robótico equipado com um sensor de toque permite o robô saber se háou não alguma coisa em seu braço para agarrar. Ou você pode fazer seu robôagir a um comando. Por exemplo, pressionando o botão do sensor fazer o
11
Introdução à Programação com Robôs Lego
robô realizar alguma ação: andar, falar, fechar uma porta ou ligar sua TV.
Try me
O NXT vêm com a função Try Me. Conecte o sensor de toque à porta1 do NXT e selecione o menu "Try Me" no NXT para testar o sensor detoque. Você terá uma reação divertida.
SensorSensor de Ultrassom de Ultrassom
Permite que o robô "veja" e passe a detectar onde osobjetos estão. Você pode usá-lo para fazer o robô evitarobstáculos, detectar e medir a distância, e detectar movimentos.
O sensor de ultrassom mede distâncias em centímetros e empolegadas. Ele é capaz de medir distâncias de 0 a 255 centímetros com umaprecisão de +/- 3 cm.
O sensor usa a mesma técnica que os morcegos usam: ele conseguemedir a distância calculando o tempo que leva para uma onda sonora baterem um objeto e retornar – como se fosse um eco.
Objetos maiores com superfícies duras retornam melhores leituras.Enquanto que objetos feitos de tecido macio ou que possuem curvas (comouma bola) ou que são muito finos e pequenos podem ser difíceis para osensor detectar.
* Dois ou mais sensores ultrassônicos atuando no mesmo espaço podem
interromper uns aos outros sua leitura.
Faça você mesmo!
Conecte o sensor de ultrassom ao NXT. Selecione no visor o submenuView. Selecione o ícone do sensor de ultrassom e a porta onde você oconectou, e pressione o botão Run (botão laranja). Para medir a distância deum objeto mova sua mão para perto do sensor e observe a mudança deleitura no visor.
12