29
PRINCÍPIOS DA PROGRAMAÇÃO PRINCÍPIOS DA PROGRAMAÇÃO LEGO MINDSTORMS NXT

02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

PRINCÍPIOS DA PROGRAMAÇÃOPRINCÍPIOS DA PROGRAMAÇÃO LEGO MINDSTORMS NXT

Page 2: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

CONCEITOS PARA A PROGRAMAÇÃOCONCEITOS PARA A PROGRAMAÇÃO

• O que é um robô• O que é um pseudocódigoO que é um pseudocódigo• O que é um programa• O que é o programa NXT-G• Programando o Lego Mindstorms NXT com• Programando o Lego Mindstorms NXT com

NXT-G

Page 3: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

O que é um robôO que é um robô

• Um robô é um dispositivo que é construído de para executar ações e interagir p ç gindependentemente com seu ambiente.

• Geralmente são divididos em robôs:• Geralmente são divididos em robôs: autônomos ou não-autônomos (controlados remotamente robôs). A autonomia é muito mais interessante e é o que nós estamos qinteressados em estudar.

Page 4: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

O que é um pseudocódigoO que é um pseudocódigo

• Antes de escrever um programa da mesma forma que o robô entende, precisamos esboçar q , p ço que queremos fazer de forma que todas as pessoas compreendampessoas compreendam.

• Ele serve para termos detalhadamente o que queremos, assim podemos dividir as ações em partes que possam ser executadas além de p q ptodos poderem entender o que será feito.

Page 5: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

O que é um programaO que é um programa

• Um programa é um conjunto de instruções.• Uma programação é o que você faz quandoUma programação é o que você faz quando

você cria um programa.R bô d l ã• Robôs e computadores em geral, são “BURROS”! Suas instruções devem ser extremamente explícitas.

• Computadores e robôs só executa o que for• Computadores e robôs só executa o que for dito para ser executado.

Page 6: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

O que é programa NXT GO que é programa NXT-G

• NXT-G é a linguagem de programação que a aplicação Mindstorms NXT utiliza.p ç

• É uma linguagem gráfica, o que significa que você constrói um programa inserindo ícones evocê constrói um programa inserindo ícones e movendo em sua área de programação.

• A maioria das outras línguas são baseados em texto, como a linguagem C.texto, como a linguagem C.

Page 7: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Programando em NXT GProgramando em NXT-G

• Para se programar em NXT-G é preciso saber:– Inserir, mover e excluir ícones (blocos no NXT-G), ( )– Ligar e configurar os blocos inseridos

Conhecer os tipos de dados que temos (Inteiro– Conhecer os tipos de dados que temos (Inteiro, Texto, Lógico)

d ló i– Ter noção de lógica

Page 8: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Programando em NXT GProgramando em NXT-G

• O primeiro passo de qualquer programação:– Crie um pseudocódigo do quer que o robô faça. p g q q ç

Lembrando claro, que o robô só irá fazer o que realmente for dito para fazer, por isso detalhe o p , pmáximo que puder.

– Com o pseudocódigo criado divida-o em partesCom o pseudocódigo criado, divida-o em partes menores, separando cada ação como individual.

O d é t d i d ódi• O segundo passo é traduzir o pseudocódigo para a linguagem NXT-G:

Page 9: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Programando em NXT GProgramando em NXT-G

• Nosso primeiro programa será o tão conhecido “Alô Mundo!”, que todos os programadores , q p gum dia já fizeram, independentemente da linguagem usadalinguagem usada.

• Pseudocódigo: Robô mostre em sua tela a frase “Alô Mundo”.Aguarde 5 segundos.g gTermine sua execução.

Page 10: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT GAlô Mundo! em NXT-G

• Usaremos dois tipos de blocos para criar o “Alô Mundo!”, um bloco que fará o robô , qexibir o texto na tela (DISPLAY) e outro que fará o robô aguardar os 5s (WAIT)fará o robô aguardar os 5s (WAIT).

• Como a execução de cada instrução é muito rápida, se não mandássemos o robô aguardar um tempo, não poderíamos ver a mensagem na p p gtela.

Page 11: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT GAlô Mundo! em NXT-G

i i l• Mostraremos como primeiro exemplo como fazer o programa “Alô Mundo!”. Ao final o programa ficará assim:

Page 12: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Com o programa Lego Mindstorms NXT aberto.

DIGITE O NOME DO PROGRAMA

Page 13: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

CLIQUE EM GO

Page 14: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

NOME DO PROGRAMA

Aparecerá o nome que você deu ao programavocê deu ao programa.

Page 15: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

PONTO DE INÍCIO DO PROGRAMA

Comando para iniciar pexecução do programa no Lego.

Page 16: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

CLIQUE NO BLOCO DISPLAY

P l lPara mostrar algo na tela do robô ou limpá-la, tal como: imagem, texto, desenho.

Page 17: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Clique agora na área de

BLOCO DISPLAY

trabalho, perto do bloco de início para inserir o bloco DISPLAY.

Page 18: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Quando um bloco é selecionado, as propriedades daquele bloco aparecem na parte de baixo do programa. Do lado direito aparece uma descrição do mesmo.

PROPRIEDADES DO BLOCO DISPLAYNOME DO BLOCO SELECIONADO DESCRIÇÃO

Page 19: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Em ACTION você seleciona o que será feito pelo robô. Selecione TEXT para mostrar algum texto na tela do robô.

ACTION

Page 20: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Em DISPLAY você marca se quer que a tela seja apagada. Deixe marcado j p gCLEAR, assim a tela será limpa antes.

DISPLAY

Page 21: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Em TEXT você digita o texto que deverá ser impresso na tela do robô. Digite “Alo Mundo!”.

TEXT

Page 22: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Em POSITION você especifica a posição que o texto deverá ser impresso. Na tela branca você pode verificar a posição que o texto ficará.

POSITION

Page 23: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Você pode marca a posição do texto clicando na tela e movendo para a posição desejada, ou simplesmente digitando as coordenadas.

POSITION

Page 24: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

CLIQUE NO BLOCO TIME

Quando você passar o mouse pelo bloco WAIT, a lista dos blocos aparecerão ao lado. Clique no bloco TIME e olado. Clique no bloco TIME e ocoloque depois do bloco DISPLAY.

Page 25: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

BLOCO WAIT-TIME

Em UNTIL você informa o tempo de espera em segundos. Digite 10,para o robô aguardar 10 segundos antes de terminar ou ir para a próxima execução.

UNTIL

Page 26: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

OBS: Veja que o nome verdadeiro do bloco não é TIME e sim WAIT, apenas o controle do bloco (propriedade) é time, ou seja o bloco WAIT aguardará um tempo determinado.

O NOME DO BLOCO É WAITCONTROL

Page 27: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Pronto nosso Alô Mundo está pronto. Agora basta enviar para o robô para ver a execuçãover a execução.

Page 28: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT-GAlô Mundo! em NXT G

Agora que o programa está terminado, verifique se o robô está conectado na porta USB do computador e se ele está Ligado. Depois clique em DOWNLOAD AND RUN para executarexecutar.

DOWNLOAD AND RUN

Page 29: 02 - PRINCÍPIOS DA PROGRAMAÇÃO NXTfiles.mauricioortiz.webnode.com.br/200000121-98abe99a59/02.pdf · Programando em NXTProgramando em NXT-G • O primeiro passo de qualquer programação:

Alô Mundo! em NXT GAlô Mundo! em NXT-G

• E aí qual foi o resultado?• Gostou de programar um robô?Gostou de programar um robô?• Mas esse programa é muito fácil não é?• Por isso iremos dar prosseguimento ao nosso

curso.cu so.• Iremos aprender novos blocos, como criar os

bl l bnossos blocos para elaborarmos programas mais complexos.