Nos exemplos mostrados anteriormente já foi possível ter uma ideia da várias possibilidades para construção de robôs e que dependendo da sua funcionalidade podem ser empregados os mais diversos tipos de materiais. Na aulas seguintes você irá projetar e construir robôs. Para desenvolver os robôs estará disponível uma interface eletrônica que irá se comunicar com o computador para controlar os servomotores e sensores. Portanto o trabalho nos projetos será a construção e programação das ações do robô.
Uma forma criativa para o desenvolvimento de robôs é a utilização materiais alternativos e reciclados. É possível construir robôs bastante sofisticados e interessantes utilizando materiais como embalagens de isopor, plástico, brinquedos e outros objetos fora de uso, madeira, garrafas plásticas, parafusos, cola, caixas de papelão, entre outros. A figura abaixo mostra alguns desses materiais.
Uma forma criativa para o desenvolvimento de robôs é a utilização materiais alternativos e reciclados. É possível construir robôs bastante sofisticados e interessantes utilizando materiais como embalagens de isopor, plástico, brinquedos e outros objetos fora de uso, madeira, garrafas plásticas, parafusos, cola, caixas de papelão, entre outros. A figura abaixo mostra alguns desses materiais.
Materiais com aplicação na construção de robôs
Exemplos de robôs
As fotos a seguir exibem alguns robôs criados com os materiais citados anteriormente.Ferramentas para a construção de robôs
Para a construção dos robôs é preciso dispor de algumas ferramentas e acessórios básicos como alicate, tesoura, chaves de fenda, aplicador de cola quente, fita adesiva, entre outros.Reconhecer e criar movimentos
A grande maioria dos robôs utiliza motores para executar os movimentos. Como já foi visto anteriormente, os motores dispõem de um eixo que pode girar em um sentido ou outro. Quando o motor gira o eixo para a direita é comum dizer que ele está girando no sentido horário, pois este é o sentido dos ponteiros do relógio; se o motor girar o eixo para a esquerda, diz-se que o movimento foi no sentido anti-horário.Ao associar o movimento de giro a algumas estruturas mecânicas é possível criar uma infinidade de movimentos que podem ser aplicados aos robôs. Para criarmos as estruturas mecânicas, é importante conhecer um pouco o conceito de máquinas simples.
A palavra máquina desperta a imediata lembrança de um mecanismo complicado, pois nos leva a pensar em algo como um guindaste, um motor de automóvel, a máquina de costura, de escrever, de lavar roupa, ou um robô. Toda máquina, porém, por mais complexa que pareça, não passa de combinações inteligentes de umas poucas peças isoladas, as quais são denominadas por máquinas simples. Do ponto de vista histórico pode ser citada a existência de quatro: alavanca, polia, plano inclinado e roda/eixo.
Não é preciso ser engenheiro para construir um dispositivo mecânico, mas a compreensão e a habilidade de lidar com engrenagens, rodas, alavancas irá facilitar o desenvolvimento dos dispositivos robóticos.
Nos exemplos do próximo tópico será demonstrada a montagem de algumas máquinas simples que utilizam materiais comuns. Estas montagens ou associações delas ampliarão as possibilidades de construção de robôs.
Como foi visto até o momento, os robôs são constituídos pela integração de componentes como motores, sensores, placas eletrônicas, cabos elétricos e a estrutura mecânica. Nas aulas seguintes, quando forem apresentados os demais elementos do sistema de robóticas, as estruturas mecânicas baseadas em máquinas simples poderão ser integradas aos demais componentes que constituem o robô.
Utilizando os materiais para robótica e o conceito de máquinas simples crie um robô simples. Use suas mãos para gerar os movimentos do seu robô.
O que é um comando
Quando criamos um robô, ele pode ser constituído de motores, sensores e uma estrutura mecânica, contudo ele não realizará nenhuma ação até que enviemos instruções ou comandos indicando o que ele deve fazer. É importante, na fase de projeto, planejar as funcionalidades desejadas para o robô, assim será facilitado o processo de transcrever esses comandos no momento de programá-lo no computador. Por exemplo, se desejamos montar um carro robotizado, devemos planejar as funcionalidades que ele terá e os comandos necessários. Uma sugestão é elaborar um desenho como o da figura abaixo, no qual pode ser visto o esboço do carro robotizado e os comandos necessários para movimentá-lo.Usando o computador para enviar comandos
Normalmente, os comandos para o robô devem estar ordenados em um seqüência e transmitidos para os elementos que compõem o robô. Atualmente a forma mais comum de enviar os comandos para o robô é por meio de um computador. Esse computador não precisa ser necessariamente o computador PC que estamos acostumados a ver e utilizar para jogar, escrever textos e acessar a internet. Existem tecnologias como a dos microcontroladores que em apenas um pequeno chip disponibilizam alguns dos recursos de um computador, podendo desse modo ser utilizados para enviar seqüências de comandos para o robô e responder em função dos dados recebidos dos sensores.Para controlar um robô
Existem várias formas de se controlar um robô utilizando um computador. A mais simples pode ser por meio de um programa como o mostrado na figura abaixo no qual o controle de um manipulador robótico ocorre ao se clicar nos botões.Controle de robô por meio de um programa com interface gráfica
Uma ferramenta da informática particularmente adequada para robótica são as linguagens de programação, ao permitirem a criação de seqüências com comandos que podem ser executados indefinidamente até que um operador interrompa.
As linguagens de programação para robótica variam muito, mas podemos dividi-las em dois grupos: as de programação textual e as icônicas (programação onde o programador não precisa digitar linhas de código, ele facilmente clica e arrasta blocos pré-programados).
Nas de programação textual, como o SuperLogo, que será utilizada nas atividades prática de robótica, os comandos devem ser digitados e em seguida executados. Os comandos do SuperLogo são em português e portanto não apresentam dificuldades no aprendizado.
O que é a Linguagem Logo
A linguagem Logo é uma linguagem de programação para uso educacional. Ela é utilizada em escolas que vão do ensino fundamental até a universidade em atividades que incluem o aprendizado de programação, matemática, línguas, robótica entre outras.O criador do Logo, Seymour Papert
O Logo foi desenvolvido em meados da década de 70 por Seymour Papert
Tartaruga na tela gráfica do Logo
Hoje existem várias versões de Logo, como o Micromundos, SuperLogo e o NetLogo (uma versão que funciona na Internet).
O ambiente gráfico do SuperLogo
O SuperLogo é uma versão em português do Logo. Essa versão foi traduzida e adaptada para nossa língua pela Unicamp (Universidade Estadual de Campinas) e distribuída gratuitamente, podendo ser baixada pela Internet e usada sem que precise pagar por isso.Após a instalação, o SuperLogo aparece no menu inicial do Windows como indicado na figura ao lado. Para carregar clique nesse botão.
Ícone do SuperLogo no Menu do Windows
Veja, na figura abaixo, a interface gráfica do SuperLogo e as principais funcionalidades disponíveis.
Janela gráfica do SuperLogo
Na Janela Gráfica são executados os movimentos da tartaruga, carregadas as imagens e alteradas as cores de fundo e do traço da tartaruga.
A Caixa de entrada permite que os comandos sejam digitados. Após digitar o comando, o mesmo é executado ao se clicar no botão Executar ou pressionar a tecla Enter.
A Janela listagem de comandos acumula todos o comandos digitados na caixa de entrada. Ao clicar em um comando na Janela de listagem, ele é carregado na Caixa de entrada e pode ser executado novamente. Esse recurso evita que seja necessário digitar comandos que já foram digitados.
Além das Janelas a interface gráfica do SuperLogo dispõem de um conjunto de botões cujas funcionalidades são descritas a seguir:
- Executar – executa o comando digitado na caixa de entrada
- Pausa – interrompe a execução do programa que está sendo executado, para prosseguir deve ser digitado o comando continue
- Parar – finaliza o programa em execução
- Tat – Limpa a tela gráfica colocando a tartaruga na sua posição inicial
- Estado – Abre uma janela que mostra o estado de vários parâmetros do SuperLogo
- Restaurar Janela de Comandos – Apaga o conteúdo da janela listagem de comandos
- Restaurar janela gráfica – Apaga a janela gráfica restaurando todos os parâmetros da tartaruga gráfica
Comandos Básicos
Mensagem de Erro no SuperLogo
Tente digitar uma palavra qualquer e verifique a ocorrência do erro.
Com uns poucos comandos na linguagem SuperLogo é possível realizar ações bastante interessantes. A seguir são apresentados os comandos básicos para controle da tartaruga gráfica na tela.
- Parafrente – movimenta a tartauga gráfica para frente de ser indicado o numero de passos. Por exemplo: o comando Parafrente 30 faz a tartaruga se deslocar 30 passos.
- Paradireita – rotaciona a tartaruga para a direita. Deve ser informado um número em graus. Exemplo: Paradireita 90
- Paratrás - movimenta a tartauga gráfica para trás de ser indicado o numero de passos. Exemplo: Paratrás 50
- Paraesquerda - rotaciona a tartaruga para a esquerda. Deve ser informado um número em graus. Exemplo: Paraesquerda 90
Comando PF 100
Comando PD 90
A maioria dos comandos do SuperLogo possuem uma abreviatura, desse modo fica mais fácil digitar os comandos. Veja a abreviatura dos comandos apresentados anteriormente.
Parafrente pode ser escrito como Pf; Paradireita, como Pd;Paratrás, Pt e Paraesquerda, Pe
Exemplo: pt 30
Parafrente pode ser escrito como Pf; Paradireita, como Pd;Paratrás, Pt e Paraesquerda, Pe
Exemplo: pt 30
- Usando os comandos apresentados crie uma seqüência que desenhe um quadrado. Anote os comandos abaixo.
- Com os mesmos comandos, crie uma seqüência para desenhar algo como uma casa, uma bicicleta, ou algo de seu interesse.
Ensinando palavras à tartaruga
Vários comandos para a tartaruga podem ser escritos na caixa de entrada e serão executados quando for pressionada a tecla Enter ou o botão Executar for clicado. Observe que entre cada comando deve ser digitado um espaço. Veja um exemplo na figura a seguir.Exemplo de vários comandos na caixa de entrada
Uma característica do SuperLogo é a possibilidade de criarmos novas palavras para o SuperLogo. Essas palavras normalmente são sequências de comandos que executam determinadas ações. Por exemplo, se digitarmos a palavra triângulo na caixa de entrada e pressionarmos a tecla Enter vamos receber a mensagem “Ainda não aprendi triângulo”.
Para ensinar o SuperLogo a reconhecer a palavra devemos criar um procedimento conforme mostrado a seguir.
Localize na barra de menus superior a opção Procedimento, clique nela e a seguir no menu que abrir clique em Novo. Oriente-se pela figura abaixo.
Como criar um procedimento
Após essas ações será aberta uma janela como a mostrada a seguir.
Tela do editor de procedimentos
Como queremos ensinar ao SuperLogo a palavra triângulo, apague o texto novo_procedimento e insira triângulo. Digite a palavra triângulo da maneira correta, ou seja, com o acento circunflexo ^. A seguir insira os comandos da tabela abaixo entre a linha do aprenda e a linha que contém a palavra fim.
Procedimento triângulo
Use a figura abaixo para se orientar na criação do procedimento.
Edição do procedimento triângulo
Após digitar o procedimento temos que gravá-lo. Para gravar selecione no menu superior Área de Trabalho e no menu que abrir clique em Atualizar. Veja a figura abaixo.
Gravar procedimento
Com o procedimento gravado, podemos sair do Editor de Procedimentos. Clique na opção do menu Área de Trabalho e Sair, conforme mostrado na figura abaixo.
Edição do procedimento triângulo
Agora o procedimento criado é reconhecido como uma nova palavra do SuperLogo e pode ser executado sem mensagens de erro ao ser digitado na caixa de entrada. Veja na figura abaixo.
Edição do procedimento triângulo
Para realizar modificações em um procedimento, o SuperLogo conta com a opção de editar o procedimento. Para acessar essa função clique na opção Procedimento do menu superior e no menu que abrir selecione Editar. Será aberta uma janela com a lista de procedimentos existentes. Clique no procedimento que deseja editar. Use as figuras abaixo para se orientar.
Editar procedimento
Edição do procedimento triângulo
Recursão
O conceito de recursão é muito utilizado quando criamos procedimentos com os comandos para robótica. De forma bem objetiva podemos dizer que a recursão ocorre quando um procedimento faz uma chamada a ele mesmo. Tomemos como exemplo o procedimento triângulo criado anteriormente. Se antes da palavra fim acrescentarmos a palavra triângulo o procedimento irá executar ele mesmo até que se clique no botão Pausa ou no botão Parar. Edite o procedimento triângulo de modo que fique como na tabela abaixo. Foi acrescentado o comando espere e tat que será explicado mais adiante. No momento basta saber que o comando espere realiza um atraso na execução e tat limpa a janela gráfica, facilitando a visualização do que está ocorrendo na janela gráfica.Inserindo comandos no procedimento triângulo
Mais comandos
O SuperLogo é uma linguagem de programação completa ao oferecer um conjunto extenso de comandos que incluem comandos lógicos, matemáticos, entrada e saída de arquivos, multimídia, controle da tartaruga, tratamento de eventos entre outros. A seguir serão apresentados alguns comandos que podem ser úteis na elaboração de sequências de controle para os dispositivos robóticos que serão projetados.- Mostre <objeto>
Função: exibir textos na janela de comandos
Exemplo: Mostre “olá
Obs: para exibir mais de uma palavra separada por espaço, coloque as mesmas entre colchetes
Exemplo: Mostre [Olá tartaruga]
- Rotule <texto>
Exemplo: Rotule “SuperLogo
Obs: a exibição ocorre na coordenada e ângulo em que a tartaruga se encontra. Pode ser necessário alterar esses parâmetros da tartaruga para exibir o texto de maneira adequada
Exemplo: tat pd 90 rotule “tartaruga
- Atribua <palavra> <objeto>
Função: designa a uma palavra e atribui a ela um valor que pode ser numérico ou texto
Exemplo: atribua “rio “tiete
Obs: para utilizar a variável na exibição ou outra ação a mesma deve estar precedida do caractere:
Exemplo: atribua “rio “tiete mostre :rio
- Espere <numero>
Exemplo: pd 90 espere 120 pd 90
Obs: este comando tem aplicações em robótica quando for desejável aguardar a execução de um movimento pelo robô antes de executar outro comando.
- Repita <número> <lista>
Exemplo: repita 10 [pd 20 espere 60]
- Se <condição> <lista>
Exemplo: atr "meuvalor 1 se :meuvalor=1[ mostre "certo]
Comentário: Neste exemplo é atribuído o valor 1 a variável meuvalor em seguida o comando “Se” testa se a variável meuvalor vale 1, como é verdade é executado o comando entre os colchetes.
Obs: o comando “Se” será muito utilizado ao desenvolver robôs que utilizam sensores. É ele que ira testar o estado dos sensores e executar ações.
- Soma <numero1> <numero2>
Exemplo: mostre soma 3 6
- Apareçatat
Função: Faz a tartaruga aparecer na tela
Exemplo: at
- Desapareçatat
Função: Faz a tartaruga desaparecer na tela, tornando-a invisível.
Exemplo: dt
- Mudecl <vetor de cor>
Exemplo: mudecl [255 000 000]
mudecl [000 255 000]
mudecl [190 65 32]
- Mudecp <vetor de cor>
Exemplo: mudecp [000 255 000] pinte
- Uselápis
Função: Executa um traço sempre que a tartaruga é movimentada. Esta é a condição padrão do SuperLogo.
Exemplo: ul pf 50
- Usenada
Função: A tartaruga não executa um traço quando é movimentada.
Exemplo: un pf 50
- Circunferência <raio>
Exemplo: circunferência 50
- Pinte
Exemplo: mudecp [000 000 255] circunferência 30 pinte
Comandos para imagens, sons
O SuperLogo dispõem de recursos para trabalhar com arquivos multimídia como sons e imagens. Esse comandos permitem carregar e executar esses arquivos. A seguir são descritos alguns desses comandos.- Carreguebitmap <arquivo >
Exemplo: carreguebitmap "c:\\imagens\\robo.bmp
- Carreguegif <arquivo >
Exemplo: carreguegif "c:\\imagens\\robo.gif
- Toquewave <arquivo> <sinalizadores>
Exemplo: Toquewave “c:\\temp\\tada.wav 1
O arquivo de ajuda do SuperLogo, acessível a partir do menu superior, contém todos os comandos, a sintaxe dos mesmos e exemplos de utilização. A ajuda é um recurso que pode ser utilizado para tirar dúvidas de comandos conhecidos e para a descoberta de novos comandos que atendam alguma funcionalidade desejada.
- Crie um programa com o SuperLogo que integre os comandos para reprodução de arquivos de som e a carga de imagens na tela gráfica.
O que é a interface para robótica
O computador envia um comando para a Placa Interface
Envio de comando para receber a situação do sensor
Ao receber esse comando a interface faz a decodificação e realiza o acionamento. Para ler o estado de um sensor, o computador envia um comando para leitura do sensor. A interface recebe o comando, efetua a leitura do sensor e envia de volta ao computador para que a informação do estado do sensor possa ser processada.
Existem os mais diversos tipos de interfaces, algumas para aplicações industriais que acionam grandes motores, outras utilizadas por cientistas geralmente muito precisas, e outras utilizadas para entretenimento e aprendizado. Podemos dizer que, ainda que as aplicações e recursos possam variar muito, todas seguem os princípios descritos anteriormente.
Como funciona
Para desenvolver os projetos de robótica, é necessário o uso de uma Placa de Interface que receba comandos do computador e comande os motores, as luzes, os relés, e retorne o estado de chaves, sensores analógicos e digitais, ou seja, dispositivos que irão compor o equipamento. Clicando em uma das interfaces do menu ao lado, você terá as instruções detalhadas para trabalhar com o SuperLogo e a placa selecionada. Outras linguagens também podem ser utilizadas. [|Veja aqui]
O arquivo de ajuda do SuperLogo, acessível a partir do menu superior, contém todos os comandos, a sintaxe dos mesmos e exemplos de utilização. A ajuda é um recurso que pode ser utilizado para tirar dúvidas de comandos conhecidos e para a descoberta de novos comandos que atendam alguma funcionalidade desejada.
- Crie um programa com o SuperLogo que integre os comandos para reprodução de arquivos de som e a carga de imagens na tela gráfica.
0 comentários:
Postar um comentário