quinta-feira, 5 de julho de 2007

Michelangelo

Pois é to aqui eu denovo!
Dessa vez o problema era programar o Michelangelo(um robozinho que anda seguindo uma linha preta), o professor Humberto de Dispositivos eletronicos deu as coordenadas e o Silas deu as dicas e ai corri atras ....acabei achando um livro na biblioteca que tinha uma linha importante ...e era só oq era necessário
O pascal possui um array chamado Port[] que dá acesso direto as portas do computador.
Não vou detalhar a maneira como funciona teoricamente mas vou exemplificar e disponibilizar exemplos.

Port[$378]:=$1;
controle:=Port[$379];

Ao Testar e ler a porta $379(porta de controle) descobri quais codigos são transmitidos em cada situação relativa aos sensores, e testando o envio de dados para a porta $378 pude descobrir quais informações fazem o robo se mover...ai vai a lista:

Dados=$378; {portas}
Controle=$379;

{valor a enviar para respectivas ações}

Frente=$9; {duas rodas para frente}
Tras=$6; {duas rodas para tras}
Direita=$1; {roda esquerda parada e direita para frente}
Esquerda=$8; {roda direita parada e esquerda para frente}
Parado=0;

{Valores de leitura do controle e significados}
Nenhum=120; {nenhum sensor ligado}
S1=104; {sensor extrema esquerda no preto}
S2=882; {sensor esquerda no preto}
S3=248; {sensor direita no preto}
S4=564; {sensor extrema direita no preto}
Todos=136; {todos os sensores no preto}

Os valores de leitura estão em decimal mas é assim que eles são lidos.

Os Programas usados nos testes foram :

Executaveis( clique em salva como mude a extensão para zip e extraia os arquivos)
Codigo fonte( clique em salva como mude a extensão para zip e extraia os arquivos)

Entre os executaveis já se encontra a primeira versão do programa final de controle do robo, porem o mesmo ainda não foi testado nenhuma vez e portanto não ha garantia de que funcione, ha tambem um que controla atraves das setas do teclado o movimento e os dois programas de leitura e envio.

Detalhe é que a foto não tem nada a ver com o Michelangelo!



Vou testar e assim que souber se esta tudo funcionando mesmo posto aqui....
Comentem....

Um comentário:

  1. Cara que legal veio!! to tentando fazer algo do genero mas nao sei nen por onde começar ja sou programador pascal mas nao sei fazer comunicar com a porta do pc onde posso achar na net algo? caso queira trocar uma ideia sobre esses assunto meu email e msn é:

    email: usu_maloka@hotmail.com
    msn:calibre105@hotmail.com

    ResponderExcluir