A Inteligência Artificial na Educação e a Inclusão Linguística
Introdução à Programação com Robôs Lego
1. 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
2.
3. SSUMÁRIOUMÁRIO
1 O que é o NXT?.........................................................................................4
2 Explicando o NXT.....................................................................................4
As 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..............................................................................7
Sensor de luz..........................................................................................7
Sensor de toque......................................................................................7
Sensor de Ultrassom .............................................................................8
Sensor de Som........................................................................................8
4 Explicando os Servomotores ....................................................................9
Sensor 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............................................................................44
Operadores Lógicos.............................................................................46
Operadores Relacionais......................................................................47
10 O que é entrada e saída de dados?.........................................................48
11 O software..............................................................................................51
Transferindo um programa para o NXT .............................................53
Paleta Padrão (Common Pallete).......................................................55
Paleta Completa (Complete Pallete)...................................................69
Paleta Personalizada (Custom Pallete) .............................................79
4. 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, e
mesmo por crianças.
Na verdade ele é um kit de robô programável, voltado para a educação
tecnológica1
, lançado pela Lego em Julho de 2006, substituindo a primeira
geraçã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 e
ultrassom), 7 cabos para conexões com motores e sensores, um cabo para
interface USB, o Brick Inteligente NXT, que é o corpo central do robô,
bateria recarregável, base giratória, rodinhas com pneus e várias peças
conhecidas como Lego Technic, como blocos, vigas, eixos, rodas,
engrenagens e polias.
O Brick NXT (em português, tijolo) é o cérebro dessas pequenas
máquinas. Ele viabiliza autonomia na execução de diferentes tarefas tais
como a criação, programação e montagem de robôs com noções de
distância, capazes de reagir a movimentos, ruídos e cores3
, e de executar
movimentos 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 download
de programas para o NXT.
Os novos modelos permitem que se criem não apenas estruturas, mas
també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 apenas
usuários de ferramentas tecnológicas, mas capazes de criar, solucionar problemas e usar
os tipos de tecnologia de forma racional, efetiva e significativa.
2 Servomotor é uma máquina, mecânica ou eletromecânica, que apresenta movimento
proporcional a um comando, em vez de girar ou se mover livremente sem um controle
mais 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, que
não acompanha o kit 9797.
6
5. Introdução à Programação com Robôs Lego
ExplicandoExplicando o NXTo NXT
Como já foi dito, o Brick NXT é o corpo central do robô. Nele
conectaremos 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 o
processador, que receberá os programas que criaremos e então os
interpretará (executará) fazendo o robô montado ganhar movimentos.
Para facilitar a comunicação e melhorar a compreensão dessa apostila
pelos leitores, aqui vamos nos referenciar ao Brick NXT somente como
NXT.
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 de
entrada (input), onde se conectam os sensores (portas 1, 2, 3 e 4). É
importante checar com atenção se os motores e sensores estão conectados
corretamente pois eles não são permutáveis.
7
6. Introdução à Programação com Robôs Lego
A porta USB para comunicação com o software está próxima às portas
de comunicação com os motores. Através dela podemos instalar os
programas do computador para o robô, e também coletar dados do robô para
o computador. Caso não queiramos fazer essa comunicação através de fios,
podemos utilizar o bluetooth, também disponível no NXT. Desse modo
precisaremos do nome do NXT, que é mostrado no visor.
O visorO visor
Na parte superior do visor, no canto esquerdo, vemos ícones que
informam sobre o status e da conexão bluetooth ou USB do robô. No canto
direito vemos o ícone da bateria informando a carga disponível.
8
7. 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 é usado
para ligar o robô.
As setas direcionais - em cinza claro - são utilizadas para a navegação
nos menus disponíveis no visor.
O botão inferior - em cinza escuro - é utilizado para a navegação nos
9
8. 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 sensoresos sensores
Os 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 a
definiçã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 de
ultrassom e o de som.
Vamos ver para que serve cada um?
SensorSensor de luzde luz
O sensor de luz é um dos dois sensores que dá visão ao
robô (o sensor de ultrassom é o outro). É ele que permite que
o robô distingua entre claro e escuro – branco e preto. Ele
pode ler a intensidade de luz numa sala e pode medir a
intensidade 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
9. Introdução à Programação com Robôs Lego
luz para criar um robô que segue linhas ou um robô que classifica coisas por
cores.
Detectando a luz ambiente
Teste a habilidade do sensor de luz em detectar a luz ambiente
medindo os níveis de luz em diferentes locais da sala. Por exemplo, aponte o
sensor em direção à janela. Então aponte-o para baixo da mesa. Veja como
modificam 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, e
pressione o botão Run (botão laranja). Agora aponte o sensor para as
diferentes cores disponíveis na folha de teste de cores. (Caso a sua apostila
esteja em preto e branco pergunte ao monitor sobre a folha de teste
colorida).
Try me
O NXT vêm com a função Try Me. Conecte o sensor de luz à porta 3
do NXT e selecione o menu "Try Me" no NXT para testar o sensor de luz.
Você terá uma reação divertida.
SensorSensor de toquede toque
O sensor de toque concede ao robô o sentido do tato.
Ele detecta quando o botão do sensor está sendo
pressionado, indicando que está em contato com alguma
coisa, e também quando ele é liberado.
Sugestões para uso
Você pode usar o sensor de toque para fazer seu robô pegar coisas: um
braç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
10. 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 à porta
1 do NXT e selecione o menu "Try Me" no NXT para testar o sensor de
toque. Você terá uma reação divertida.
SensorSensor de Ultrassomde Ultrassom
Permite que o robô "veja" e passe a detectar onde os
objetos estão. Você pode usá-lo para fazer o robô evitar
obstáculos, detectar e medir a distância, e detectar movimentos.
O sensor de ultrassom mede distâncias em centímetros e em
polegadas. Ele é capaz de medir distâncias de 0 a 255 centímetros com uma
precisão de +/- 3 cm.
O sensor usa a mesma técnica que os morcegos usam: ele consegue
medir a distância calculando o tempo que leva para uma onda sonora bater
em 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 (como
uma bola) ou que são muito finos e pequenos podem ser difíceis para o
sensor 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 submenu
View. Selecione o ícone do sensor de ultrassom e a porta onde você o
conectou, e pressione o botão Run (botão laranja). Para medir a distância de
um objeto mova sua mão para perto do sensor e observe a mudança de
leitura no visor.
12