sexta-feira, 9 de julho de 2010

Comando C

>Por Mariana

Olá,
Na semana passada, durante uma conversa com o professor Renê Pegoraro, recebemos explicações sobre o funcionamento dos robôs que serão disponibilizados pela UNESP.
Os robôs são bem simples e dispõem apenas de duas rodas. Por essa razão, os comandos serão formados por 8 bits. Assim, como demonstrado na imagem abaixo, cada bit tem uma função. Para este projeto, não será necessária a variação de velocidade, dessa forma optamos por usar o último bit valendo 0 quando o robô estiver parado e 1 quando estiver em movimento.


Traremos mais informações em breve.
Mariana

Help

>por Renato

Vou postar sobre o help que estará disponível no sistema.

Definição:

Help significa geralmente, ajuda mas, em alguns casos, Socorro !. Quase todos os programas disponibilizam parte do manual de instruções na própria tela. O tópico ajuda geralmente traz uma lista , em ordem alfabética, para o usuário ir procurando aquela explicação que vai resolver seu problema.
São arquivos de hiperlink, que tem como base ajudar o usuário a sanar todas as suas duvidas sobre o sistema em questão.

Como é formado:

Um arquivo de help é formado por uma série de tópicos. Um tópico é cada página do arquivo help. Quando você tecla F1 numa aplicação Windows, você verá um tópico do seu arquivo de help. Cada tópico cuida da explanação de um aspecto distinto da aplicação: um item de menu, uma caixa de diálogo, etc. A maioria dos tópicos contém links para outros tópicos cuja explanação seja complementar ou correlata à tratada.


Help

>por Renato

Vou postar sobre o help que estará disponível no sistema.

Definição:

Help significa geralmente, ajuda mas, em alguns casos, Socorro !. Quase todos os programas disponibilizam parte do manual de instruções na própria tela. O tópico ajuda geralmente traz uma lista , em ordem alfabética, para o usuário ir procurando aquela explicação que vai resolver seu problema.
São arquivos de hiperlink, que tem como base ajudar o usuário a sanar todas as suas duvidas sobre o sistema em questão.

Como é formado:

Um arquivo de help é formado por uma série de tópicos. Um tópico é cada página do arquivo help. Quando você tecla F1 numa aplicação Windows, você verá um tópico do seu arquivo de help. Cada tópico cuida da explanação de um aspecto distinto da aplicação: um item de menu, uma caixa de diálogo, etc. A maioria dos tópicos contém links para outros tópicos cuja explanação seja complementar ou correlata à tratada.


sexta-feira, 2 de julho de 2010

Desenvolvimento em Java

>Por Juliana

Boa noite,
Na segunda-feira desta semana (27/jun), eu e a Mariana nos encontramos e desenvolvemos mais um pouco o projeto. No entanto, encontramos problemas, os quais só conseguimos resolver ontem (01/jul).
A seguir, lhes apresento o código, que a partir de um arquivo ggb, cria os diversos quadros de condição/ação correspondentes.
// Função que carrega o arquivo .ggb
public void Carregar(String caminho, Vector vetMinis) throws Exception {
Properties prop = new Properties();
FileInputStream pf = new FileInputStream(caminho);
prop.load(pf);
vetMinis.clear();
Prog1.pnArea.removeAll();
for (int i = 0; i < prop.size(); i++) {
String s = prop.getProperty("com" + i,"O1(0,0);O2(1,1);O1(1,1);O2(0,0)");
String p[] = s.split(",|\\(|\\),|\\);|\\)");
for (int j = 0; j < p.length; j++)
System.out.println(p[j]);
Mini mini = new Mini(Prog1.objs);
vetMinis.add(mini);
mini.acao.posObj[0]= Cardeais.calculaCardeal(Integer.parseInt(p[1]), Integer.parseInt(p[2]));
mini.acao.posObj[1]= Cardeais.calculaCardeal(Integer.parseInt(p[4]), Integer.parseInt(p[5]));
mini.condicao.posObj[0]= Cardeais.calculaCardeal(Integer.parseInt(p[7]), Integer.parseInt(p[8]));
mini.condicao.posObj[1]= Cardeais.calculaCardeal(Integer.parseInt(p[10]), Integer.parseInt(p[11]));
Prog1.pnArea.add(mini);
}
Prog1.pnArea.updateUI();
Prog1.pnArea.validate();
Dimension d = Prog1.pnArea.getPreferredSize();
}
Isso é tudo por hoje. Em breve traremos outros trechos de código, já que tal desenvolvimento deve se intensificar esse mês.
Juliana

Formulário com Dialog


>por Matheus

Hey! Tudo bom?

Essa semana estava pesquisando um pouquinho mais sobre jQuery e achei um exemplo muito interessante sobre o uso de um dialog com formulário. É uma ideia muito prática e útil. Para visualizar o exemplo, clique aqui!


IFrame, JQuery e Ajax

> Por Maisa

Para carregar páginas dentro de outras no nosso projeto utilizamos a tag IFrame que é um código em HTML que possui essa função.
Segundo a W3C(World Wide Web Consortium), um consórcio internacional que estuda as tecnologias existentes para a apresentação do conteúdo na Internet e cria padrões de recomendação para utilizar essas tecnologias, o IFrame está entrando em desuso.
Com isso, estamos pensando em modificar a programação do nosso Projeto, substituindo o IFrame por JQuery juntamente com o Ajax.
Assim evitamos que a programação do nosso projeto se torne ultapassada nas futuras versões do HTML, que é o que ocorreria se continuasse com IFrame.
Segue abaixo um pedaço do código onde foi utilizado a tag (clique na imagem):



Reunião

>por Débora

Bom dia a todos,

Como dito no meu post anterior - nosso grupo faria reuniões semanais nas férias para dar andamento ao projeto - nossa primeira reunião acontecerá semana que vem, respeitando o horário de todos os membros do grupo. Ela vai servir de discussão para todos saberem como o projeto se encontra e o que tem de ser melhorado.
Depois da reunião serão passadas tarefas individuais, para serem apresentadas para o grupo na próxima reunião.
Essa foi a melhor forma que encontramos de organizar as coisas!

Até semana que vem pessoal


Como programa seu robô utilizando o NXT-G?

>Por Renato

Como programar o seu robô utilizando o NXT-G?

NXT-G é uma linguagem de programação intuitiva, baseada em ícones de arrastar-e-soltar, projetada para uma introdução fácil à programação tanto para usuários novos quanto para os experientes.

Ao escolher blocos de programa que trabalham com os motores e fazer os sensores reagirem às entradas, basta criar o seu programa bloco por bloco. É possível criar programas que vão do simples ao complexo.



Renato

JavaComm

>Por Mariana

Discutindo sobre o nosso projeto chegamos a conclusão que será usado JavaComm para comunicação serial com os robôs. Então resolvi trazer um pouco sobre essa ferramenta:

JavaComm
O Java Communications 3.0 API Java é uma extensão que facilita o desenvolvimento independente de plataforma para aplicações de comunicações tecnologias como cartões inteligentes, sistemas embarcados, e de dispositivos de ponto de venda, serviços financeiros dispositivos, fax, modems, terminais de vídeo e equipamentos robóticos.
O Java Communications API (também conhecido como javax.comm) prevê aplicações de acesso a RS-232 hardware (portas seriais) e acesso limitado a IEEE-1284 (portas paralelas) modo SPP.
Implementações da API estão atualmente disponíveis para Solaris SPARC, Solaris x86, x86 e Linux. Cada uma das implementações disponíveis Sun trabalha com o Sun Ray da linha de produtos thin client, e incluem portmapping extensões para permitir uma gestão para especificar a localização de portos, bem como a sua visibilidade, nomes, e em alguns casos anotados referência.

serial API características:
  • Enumeração de portas (administrador e usuário mapeamento de porta configurável)
  • Porto de configuração (taxa de transmissão, velocidade, bits de parada, paridade)
  • Acesso à EIA232 DTR padrão, CD, CTS, RTS e DSR sinais
  • Transferência de dados através de portas RS-232
  • opções de hardware e software de controlo do fluxo
  • Buffer de recepção de controle de limite
  • opção de evento assíncrono para a notificação de:
    • Os dados disponíveis sobre uma porta RS-232
    • hardware Port nível muda de linha
    • mudanças de propriedade do Porto, num único JVM

Até mais

AEDROMO

>Por Paula

Olá!

Existe atualmente, no Departamento de Computação, um grupo de pesquisas voltado a Robótica Móvel Autônoma. O Grupo de Integração de Sistemas e Dispositivos Inteligentes (GISDI) é formado por docentes e alunos dos cursos de Bacharelado em Ciências da Computação e Bacharelado em Sistemas de Informação e funciona desde 1998. Tendo como um de seus principais objetivos a aplicação de tecnologias e sistemas inteligentes na educação, o GISDI vem desenvolvendo diversos projetos desde sua criação. Entre seus projetos didáticos, cita-se o Elevador e o AEDROMO (I e II).

O Elevador é uma Plataforma Didática Multidisciplinar, programada em linguagem C e Pascal, cujo objetivo é ensinar aos alunos do primeiro ano de graduação as ideias básicas de algoritmos, controle e software básico.

O AEDROMO (Ambiente Experimental Didático com Robôs Móveis) possui duas versões. A primeira, mais simples e já concluída, tem como resultado um robô móvel, conhecido como Michelangelo, comandado através do porto paralelo de comunicação de computadores pessoais. Este robô possui quatro sensores ópticos em linha na parte frontal, possibilitando a leitura de faixas pretas na superfície onde é colocado. Assim, o Michelangelo consegue, por exemplo, seguir linhas no solo, procurar saídas de regiões delimitadas por faixas pretas e explorar labirintos. Esta primeira versão é utilizada como material didático para alunos de graduação em Ciências da Computação e em Sistemas de Informação da Faculdade de Ciências para estudo de algoritmos e de programação.

A segunda versão ainda está em andamento e se diferencia da primeira por possuir um público-alvo mais jovem, alunos do ensino fundamental e médio, além de ser voltada também a experimentos, pesquisas e entretenimento. Ele se torna muito interessante no que diz respeito a pesquisa, na medida em que dispõe de uma interessante bancada de desenvolvimento para várias áreas relacionadas a robótica. O AEDROMO é adaptável aos diversos ciclos de ensino por meio de um ambiente apropriado e dependente de sua aplicação.


Paula