skip to main | skip to sidebar

Web Master

Pages

  • Início

terça-feira, 26 de abril de 2011

CARRO Nº3 ROV‏ (Veículo Operado Remotamente)

Veículo Operado Remotamente (ROV)

Bom pessoal vamos a mais um projeto, desta vez vamos construir um veículo autônomo, qual poderá ser pré-programado para agir de uma determinada maneira ou poderemos controlá-lo remotamente através de um microcomputador ou um controle remoto, para o chassi do veículo utilizaremos um pedaço de acrílico por ser leve e resistente, mais nada impede que outros materiais possam ser utilizados como metal, madeira, plástico, etc., para meu projeto vou utilizar um pedaço de acrílico de 11 x 18Cm que será suficiente para prender todas as placas de controle, os servos, os sensores, iluminação, etc.

Material para construção
Na figura acima temos uma imagem do acrílico que será o chassi, os 4 pneus, o eixo e os 2 servo de rotação continua.

O próximo passo consiste em prender um pneu em cada servo de rotação contínua isso pode ser feito de pelo menos duas maneiras diferentes, a primeira consiste em prender o pneu diretamente no eixo do servo, porém para isso seria interessante que o buraco do pneu tivesse ranhuras para prender no eixo do servo e com isso evitar que o mesmo patine no momento da tração e com isso perder o torque, a segunda maneira e a que eu utilizei consiste em prender os Horns (peça plástica em formato de estrela que vai no eixo do servo) diretamente no pneu, evitando assim a perda de torque já que toda força do servo será transmitida para o pneu, para prender os Horns nos pneus pode utilizar cola para plástico ou se for possível pequenos parafusos.

Horns nos pneus
Na figura acima temos os Horns devidamente presos aos pneus

Agora vamos prender os servos no chassi de acrílico, apliquei uma volta de fita isolante na lateral do acrílico para melhorar o visual e deixa-lo mais resistente, você pode prender os servos de várias maneiras, desde de a utilização de pequenas abraçadeiras ou pequenos parafusos, cola ou fita adesiva dupla face, eu optei por essa última alternativa.

Servo preso
Na imagem acima podemos ver os servos presos com fita dupla face.

Servo preso
Servo preso com fita adesiva dupla face, visto de cima.

Servo com pneu
Na imagem acima podemos ver de cima o chassi já montado e com os pneus.

Servo com pneu
O mesmo chassi porém agora visto de baixo.

O próximo passo consiste em montar a parte de alimentação do seu veículo, esse alimentação pode ser feita de várias maneiras como por exemplos baterias ou pilhas, utilizando baterias você pode por exemplo utilizar baterias veículos RC (Rádio Controlado) também conhecidas como LIPO, que são baterias de grande capacidade de armazenamento porém com preço relativamente elevado, essas baterias são encontradas em várias voltagens, inclusive um modelo de 4,8Volts que é ideal já que estaremos trabalhando com circuítos digitais a alimentação quanto mais próxima de 5Volts melhor, uma outra solução utilizando baterias recarregáveis são as de Ácido/Chumbo (mesmo tipo de baterias utilizadas em carros), existem baterias de 6Volts e de 12Volts porém nesses casos deveremos utilizar estabilizadores de voltagem para baixar a voltagem para os 5Volts desejados (para isso utilize um LM7805 com um bom dissipador de calor), as baterias de ácido/chumbo apesar de serem baratas e de excelente capacidade de armazenamento tem um encoveniente de serem extremamente pesadas e sendo assim precisam de uma carcaça e um sistema de tração mais robustos.

Uma outra saída seria a utilização de pilhas e isso pode ser feito de algumas maneiras, uma utilização simples seria a utilização de um suporte para 3 pilhas do tipo "AA", que dará um total de 4,5Volts (1,5Volts cada) esse tipo de configuração é a que utilizarei no meu projeto por ser barato e simples, uma outra solução de maior potência seria utilização de um suporte pata 4 pilhas e a utilização de 4 baterias "AA" recarregáveis (dessa utilizadas em câmeras digitais) que além de terem capacidade superior as pilhas convencionais (mesmo as alkalinas) ainda podem ser recarregadas quando acabam sua carga, outra vantagem é que como cada bateria tem 1,2Volts cada uma, as 4 baterias irá dar 4,8Volts e com grande capacidade, uma outra utilização com 4 pilhas comum, que dará 6Volts no total, porém pode ser implementado a queda da tensão com a utilização de dois diodos 1N4001 em série um com o outro, como cada diodo tem uma queda de tensão em média de 0,6Volts (1,2Volts no total) uma grande vantagem dessa configuração é que pode se colocar dois jumpers em paralelo com cada diodo e quando as baterias começarem a descarregar você pode fechar um jumper anulando um diodo e ficando com queda de apenas 0,6Volts e quando descarregar mais um pouco poderá fechar o outro jumper anulando assim toda circuito de queda de energia e com isso utilizar seu conjunto de pilhas por muito tempo.

Detalhes da alimentação

Resolvido o problema da alimentação de energia para o veículo o próximo passo consiste em prender o eixo da frente, para isso utilizei dois "gomos" de barra de conector do tipo "Sindal" utilizando o mesmo como mancal além de dar um bom alinhamento ao eixo.

Eixo dianteiro
Na imagem acima podemos ver o eixo dianteiro fixado o auxílio de um "Sindal"

Agora temos pela frente a parte lógica/eletrônica do veículo, para isso estou utilizando uma Placa de Laboratório (ainda em versão beta) com um microcontrolador PIC 16F628A, essa placa consiste em um laboratório para testes de eletrônica com um microcontrolador que é muito simples de trabalhar e extremamente robusto, a placa permite a gravação de um novo Firmware diretamente na placa, sem a necessidade de remover o microcontrolador (ICSP - In-Circuit Serial Programming) essa gravação será feita através de uma placa gravadora do PIC´s ICSP que irá acompanhar o laboratório, essa Placa Laboratório tem 8 entradas/saídas para comunicação com dispositivos externos como motores, servos, LED´s, buzzer, sensores, etc... a placa também conta com um botão de Reset que fará com que o microcontrolador volte ao estado inicial, e um botão extra para ser utilizado em seus projetos (até 8 botões podem ser adcionados nessa placa através dos 8 canais de comunicação), 2 LED´s programáveis no microcontrolador, Cristal externo com Jumper para utilização ou não do mesmo (o PIC 16F628A conta com oscilador interno) e uma porta serial DB9 para comunicação com um Microcomputador atavés da Porta Serial RS232.

ROV + Placa Laboratório
Imagem do ROV com a Placa Laboratório (Beta)

Detalhe da Placa Laboratório
Imagem em detalhe da Placa Laboratório

Gravador ICSP
Imagem do Gravador de PIC ICSP com cabo serial

A programação desta placa pode ser feito em qualquer linguagem compatível com PIC como ASM, C, Basic, etc..., porém como a idéia desse site é ter projetos simples os exemplos serão em Pic Basic Pro por ser uma linguagem para PIC muito simples e prática e existe uma versão Demo que pode ser baixada no site da microEngineering Labs essa versão Demo tem limitações de tipos de PIC´s porém o PIC 16F628A está na lista dos agráciados por essa versão e além de uma limitação no código permitindo apenas 31 linhas de programação (linhas em branco e comentários não são computados) você também pode adquirir uma versão full e sem restrição de microcontrolador ou quantidade de linhas por aproximadamente $250,00 no próprio site do fabricante, para a edição de seus programas você pode utilizar um editor de texto de sua preferência ou até mesmo o bloco de notas do Window,s porém aconselho a utilização do MicroCode Studio que pode ser baixado aqui, a grande vantagem desse editor que foi desenvolvido especialmente para o Pic Basic facilitando muito na hora da compilação além de integrar com o "Assemblador" da Microchip que pode ser baixado aqui.

Abaixo segue um simples exemplo de teste para fazer o ROV andar e virar para a direita, você pode copiar e colar o código abaixo e compilar em seu ambiente, bem como fazer alterações a vontade.

Exemplo de tração do ROV feito em Pic basic Pro
'****************************************************************
'*  Name    : RSLab1.bas                                        *
'*  Author  : Rogerio Pocas                                     *
'*  Notice  : Copyright (c) 2007 Robotica Simples               *
'*          : All Rights Reserved                               *
'*  Date    : 9/12/2007                                         *
'*  Version : 1.0                                               *
'*  Notes   : Teste de servos de tração                         *
'****************************************************************

cont var byte  'Cria variavel de contador
trisb = 0      'Todas as portas serão saidas

inicio:             'Inicio da rotina
for cont = 0 to 150 'Conta de 0 a 150
  pulsout  0,100    'Gira servo no canal 0 no sentido anti horario
  pulsout  1,200    'Gira servo no canal 1 no sentido horario
  'Como os servos estao de costa um para o outro, cada um tem que girar
  'em um sentido para veiculo andar para frente ou para traz
  pause    15       'Espera 15uS
next       cont     'Volta ao começo
pause 100           'Espera 100uS
for cont = 0 to 120 'Conta de 0 a 120
  pulsout  1,200    'Gira apenas um servo para fazer o veiculo rodar
  pause    15       'Espera 15uS
next       cont     'Volta ao comeco
pause 100           'Espera 100uS
goto     inicio     'Volta ao inicio da rotina (para sempre ;-)
Postado por Web Master às 10:31:00 AM 0 comentários Enviar por e-mail Postar no blog! Compartilhar no X Compartilhar no Facebook

CARRO Nº2 Projeto de Robô seguidor de Luz‏

Projeto de Robô seguidor de Luz


Materiais:
- 1 circuito integrado LM555;
- 2 Resistores dependentes de luz (LDR);
- 2 pequenos motores elétricos iguais
- Bateria de 9V (aquelas de controle remoto sem fio)

O Robô:
De forma muito simplificada com uma eletrônica muito simples dependendo de apenas alguns componentes, esse robô detecta, assim que ativado, uma fonte de luz e vai na sua direção. Conforme são sensibilizados seus sensores de luz (os LDRs) eles enviam o sinal até o circuito LM555 que aciona os motores.

O circuito:

Vídeo de exemplo de um robô seguidor de luz:

Atenção: não se trata do mesmo robô, mas de um robô com o mesmo princípio de funcionamento !!!

OBS.:
1) onde aparece um + no esquema significa que estes pontos são todos ligados no positivo da bateria, os outros dois pontos com sinal de "aterramento" vão no negativo.
2) terminais 2 e 6 são conectados entre si.
Para aqueles que querem um pouco mais de conhecimento segue para download o datasheet do LM555, para baixar clique no botão abaixo
Observações importantes:
1) O sensor que ativa o motor do lado esquerdo, deve ficar do lado direito do robo e vice-versa. ou seja, os sensores devem ficar em lados opostos aos motores que ativam.
2) Os sensores LDR devem ficar o mais proximo possivel dos motores para ficar mais preciso.
3) Não faça um robô muito rápido, quanto mais lento melhor, assim ele se tornará mais preciso.
4) Não mova a fonte de luz muito rapidamente pois os LDR não são tão rápidos e o robô não conseguirá "processar" os dados e enviar o sinal aos motores rapidamente, se o robô "perder de vista" a fonte luminosa ele começará a girar ao redor de si próprio pois ficará ativo o último motor acionado (pelo menos foi o que aconteceu com o meu nos testes que fiz).

Controle
Para o controle do robô como descrito você deve ter uma fonte luminosa (lanterna) e aponta-la para a frente do robô (cerca de 5cm de distancia dos LDR) assim terá o controle total dele.

Obs referentes a fonte luminosa
Eu testei com várias lanternas, vários focos e diametros diferentes do foco da lanterna, o meu robô mede 5cm de largura e 7 de comprimento, os sensores estão a 4cm de distância entre eles e o foco da lanterna (aquela parte central que brilha mais quando você aponta ela para o chão) tem cerca de 3cm e este foi o diâmetro que fez eu ter um maior controle sobre o robô e ele ficou mais preciso. Uma luz muito forte com diametro maior que a distancia entre os sensores fez com que o robo não funcionasse corretamente a medida que o diâmetro aumentava.
Testei com várias lanternas e fontes luminosas diferentes e montei uma tabela, segue os resultados: (considere a distância entre os sensores de 4cm). Obs, testes realizados em ambiente com pouquíssima luz ambiente.

Fonte luminosa: lanterna de luz amarela (incandescente)
Diâmetro do foco: 3cm
Nível de Controle: total

Fonte luminosa: lanternas de LEDs de alto brilho
Diâmetro do foco: grande, mas com o auxilio de um cone de cartolina reduzi para os 3cm e obtive um resultado tão bom quanto o anterior, sem o cone o não se tem controle sobrê o robô
Nível de Controle: com cone: total | sem cone: nenhum

Fonte luminosa: lanterna de luz amarela (incandescente)
Diâmetro do foco: 8cm
Nível de Controle: muito baixo, quanto maior o diametro do foco em relação a distância entre os sensores é menor o controle.

Fonte luminosa: Laser Pointer (sim eu tinha que testar com lasers...)
Diâmetro do foco: uns 3mm
Nível de Controle: médio, como o ponto luminoso é pequeno demais, é muito fácil do robo "se perder" e não encontrar o ponto novamente, e começar a girar em torno de si. Para adquirir o controle novamente eu precisava da lanterna.


É isso pessoal, caso alguém tenha alguma dúvida na construção do robô pode me perguntar que irei ajudar. Um abraço a todos e até a próxima.
Postado por Web Master às 10:22:00 AM 0 comentários Enviar por e-mail Postar no blog! Compartilhar no X Compartilhar no Facebook

quarta-feira, 13 de abril de 2011

ROBÓTICA para iniciantes nº03

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.

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.

Toda máquina simples é um dispositivo capaz de alterar uma força (seja em intensidade e/ou direção e/ou sentido) com o intuito realizar uma determinada tarefa. Nesse sentido as máquinas simples encontram aplicação na maioria dos projetos de robótica.
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.

Atividade
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.
Um outro exemplo, se quisermos projetar um sistema de cancela, semelhante aos encontrados em entradas de shopping centers ou praça de pedágios, com a funcionalidade de abrir e fechar quando o usuário pressiona um botão. Uma solução pode ser como a mostrada nas figuras abaixo.

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
Essa forma de controle é bastante simples, porém limitada, pois depende de um operador que fique repetindo os comandos de controle. Se imaginarmos uma situação comum na indústria, na qual um manipulador executa milhares de ações, rapidamente pode-se constatar que é necessária uma forma mais eficiente de controlar um robô.
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.

Outra forma de programação é na qual os comandos são representados por blocos gráficos que são ligados e depois executados. Um exemplo de linguagem de programação com propósito educacional baseada em ícones é a Crocodile Clips.
ATIVIDADES
Elabore para o robô criado na atividade anterior uma seqüência de comandos em português (ex.: ande para frente) a fim de que esse robô execute alguma tarefa. Em seguida, apresente para seus colegas.



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 (external link) e sua equipe no MIT (Massassuchets Institute of Technology) (external link). O propósito dele era criar uma linguagem por meio do qual as crianças pudessem usar o computador para aprender. Como naquela época os computadores eram grandes e limitados, sequer tinham monitores de vídeo como conhecemos hoje, a forma de interação com as crianças era por meio de um teclado e um robô conectado a esse computador que respondia aos comandos enviados pelos alunos executando movimentos. Esse robô era muito parecido com uma tartaruga e até hoje o Logo mantém como símbolo uma tartaruga sendo chamado por muitas pessoas como a linguagem da tartaruga. Com a evolução dos computadores e a chegada dos monitores com alta resolução, foram desenvolvidas versões do Logo em que a tartaruga era representada por um gráfico e os comandos enviados a ela eram representados por deslocamentos na tela do computador.


Tartaruga na tela gráfica do Logo
O Logo, por meio de um conjunto de palavras ou comandos, permite criar seqüências que, ao serem executadas, realizam alguma tarefa como desenhar uma figura, controlar um robô ou tocar uma música. A essa seqüência de comandos chamamos de programas.
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
O SuperLogo é executado no sistema operacional Windows mantendo muitas semelhanças com a forma de utilização de outros programas feitos para esse sistema operacional como processadores de textos e alguns jogos.
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
A linguagem SuperLogo tem os seus comandos em português. Contudo eles seguem uma sintaxe que deve ser digitada corretamente, devem ser observados os parâmetros e espaços entre comandos. Se um comando for digitado de forma incorreta ocorre uma mensagem de erro.
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
Veja nas figuras a seguir o exemplos para os comandos parafrente e paradireita respectivamente.

Comando PF 100

Comando PD 90


Fechar
tip Dica
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
Atividades
  1. Usando os comandos apresentados crie uma seqüência que desenhe um quadrado. Anote os comandos abaixo.
  2. 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>
Comando abreviado: Mo
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>
Função: exibir textos na janela gráfica
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>
Comando abreviado: atr
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>
Função: Provoca uma pausa entre um comando e outro especificado pelo valor de <numero>. Cada unidade corresponde a 1/60 de segundo. Portanto se quisermos a pausa de 1 segundo entre um comando e outro o valor par <numero> deve ser 60.
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>
Função: executa a lista de comando a quantidade de vezes indicada em <número>
Exemplo: repita 10 [pd 20 espere 60]

  • Se <condição> <lista>
Função: comando que testa se condição é verdadeira e caso seja executa a lista de comandos
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>
Função: realiza a operação de soma dos números especificados
Exemplo: mostre soma 3 6

  • Apareçatat
Comando abreviado: at
Função: Faz a tartaruga aparecer na tela
Exemplo: at

  • Desapareçatat
Comando abreviado: dt
Função: Faz a tartaruga desaparecer na tela, tornando-a invisível.
Exemplo: dt

  • Mudecl <vetor de cor>
Função: define a cor do traço da tartaruga. Devem ser passados três valores que podem variar de 0 a 255 que representam a intensidade de vermelho, verde e azul respectivamente. A combinação desses valores permite a criação de uma ampla faixa de cores.
Exemplo: mudecl [255 000 000]
mudecl [000 255 000]
mudecl [190 65 32]

  • Mudecp <vetor de cor>
Função: define a cor para preenchimento do fundo da tela gráfica. Devem ser passados três valores que podem variar de 0 a 255 que representam a intensidade de vermelho, verde e azul respectivamente. As cores funcionam de modo semelhante ao comando Mudecl.
Exemplo: mudecp [000 255 000] pinte

  • Uselápis
Comando abreviado: ul
Função: Executa um traço sempre que a tartaruga é movimentada. Esta é a condição padrão do SuperLogo.
Exemplo: ul pf 50

  • Usenada
Comando abreviado: un
Função: A tartaruga não executa um traço quando é movimentada.
Exemplo: un pf 50

  • Circunferência <raio>
Função : Desenha um circulo com o raio indicado em <raio>
Exemplo: circunferência 50

  • Pinte
Função: Pinta uma região da janela de desenho que contém a tartaruga e delimitada por linhas que tinham sido desenhadas anteriormente.
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 >
Função: carrega o arquivo bitmap (.bmp) nas posição das coordenadas da tartaruga.
Exemplo: carreguebitmap "c:\\imagens\\robo.bmp

  • Carreguegif <arquivo >
Função: carrega o arquivo gif (.gif) nas posição das coordenadas da tartaruga.
Exemplo: carreguegif "c:\\imagens\\robo.gif

  • Toquewave <arquivo> <sinalizadores>
Função: carrega e reproduz arquivos de som wav (.wav). O sinalizador 0 aguarda a reprodução finalizar para executar o próximo comando, enquanto o sinalizar 1 inicia a reprodução e vai para o próximo comando
Exemplo: Toquewave “c:\\temp\\tada.wav 1

Fechar
tip Dica
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.
Atividade
  1. 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
Como já vimos, para que o robô criado realize algum tipo de ação, ele precisa receber os comandos que irão acionar os motores e obter os dados dos sensores. Contudo, o computador não tem recursos para diretamente acionar motores e sensores. Para que esses acionamentos possam ocorrer é preciso de um dispositivo eletrônico que receba as instruções do computador e converta em sinais elétricos capazes de acionar os mais diversos tipos de motores e receber os dados que indicam o estado dos sensores. São as interfaces eletrônicas que realizam essa função. Por exemplo, quando é enviado um comando para ligar determinado motor no robô, o computador, por meio de um comando, indica qual motor será acionado e um parâmetro indica se o mesmo deverá ser ligado ou desligado. Esse comando é encaminhado para o computador por meio da porta paralela, serial ou USB.

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

Default POP1 POP2A POP2U POP2A-ZigBot
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]


Fechar
tip Dica
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.
Atividade
  1. 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.
Postado por Web Master às 9:46:00 AM 0 comentários Enviar por e-mail Postar no blog! Compartilhar no X Compartilhar no Facebook
Postagens mais recentes Postagens mais antigas Página inicial

Blog Archive

  • ▼  2011 (5)
    • ▼  abril (5)
      • CARRO Nº3 ROV‏ (Veículo Operado Remotamente)
      • CARRO Nº2 Projeto de Robô seguidor de Luz‏
      • ROBÓTICA para iniciantes nº03
      • ROBÓTICA para iniciantes nº02
      • ROBÓTICA para iniciantes nº01

Followers

Web Master. Tecnologia do Blogger.

Avalie o nosso blog

Total de visualizações de página


Pesquisar neste blog

Inscreva-se

Postagens
Atom
Postagens
Comentários
Atom
Comentários
 
Copyright (c) 2010 Web Master. Designed for ganhar dinheiro