Existem varias versoes da placa Arduino. O arduino que vou usar neste projeto e o Duemilanove ATmega328 Atmel ( datasheet ).O Arduino Duemilanove e uma placa baseada no microcontrolador ATmega168 ( datasheet ) ou ATmega328 ( datasheet ). Tem 14 pinos de entrada/saida (dos quais 6 podem ser utilizados como saidas PWM), 6 entradas analogicas, um oscilador de cristal de 16 MHz, conexao USB, um conector de alimentacao, um cabecalho ICSP, e um botao de reset. Ele vem pronto para uso, basta conecta-lo a um computador com um cabo USB e programa-lo. O Arduino Duemilanove pode ser alimentado atraves da conexao USB ou com fonte de alimentacao externa.Memoria: O ATmega168 tem 16 KB de memoria flash para armazenar o codigo,1 KB de SRAM e 512 bytes de EEPROM (que pode ser lido e escrito com a biblioteca EEPROM) e o ATmega328 (o que estou usando) tem 32 KB, 2 KB de SRAM e 1 KB de EEPROM (que pode ser lido e escrito com a biblioteca EEPROM ).Entrada e Saida: Cada um dos 14 pinos digital no Duemilanove pode ser usada como uma entrada ou saida utilizando as funcoes pinMode () , digitalWrite () e digitalRead (), eles operam em 5 volts.Mais informacoes no site: www.arduino.cc/en/Tutorial/HomePage Os Sistemas Multiagentes (SMAs) sao compostos por varios agentes, como demonstra a figura, cada agente possui atuadores e sensores, onde os atuadores atuam no ambiente, como exemplos podemos citar este projeto de veiculos autonomos, onde o veiculo atualmente possui 3 servos como atuadores, dois servos estao nas rodas traseiras possibilitando-as irem para frente, tras, lado direito e lado esquerdo, e o terceiro servo gira o sensor ultrasonico, os sensores sentem o ambiente (exemplo o sensor ultrasonico que verifica se ha objetos a sua frente).O agente e programado em Java (com threads) sob o Framework SemantiCore que abstrai a plataforma de implementacao e possibilita a criacao de aplicacoes organizadas em um conjunto de agentes que fazem tarefas no ambiente web ( ESCOBAR,2006). Uma caracteristica da linguagem Java e o uso de bibliotecas para diferentes aplicacoes, como a API RXTX (RXTX, 2010) e suas classes CommPortIdentifier, SerialPort, SerialPortEvent, SerialPortEventListener usadas nesta pesquisa, as quais possibilitam a comunicacao de um programa escrito em Java com a porta Serial do hardware hospedeiro.O Arduino (ARDUINO, 2010) e uma plataforma de prototipagem eletronica open-source que se baseia em hardware e software faceis de usar, o Arduino pode sentir o estado do ambiente que o cerca por meio de sensores que receptam os sinais e pode interagir com os seus arredores, controlando luzes, motores e outros atuadores, conectados atraves de suas portas digitais e analogicas. O micro-controlador na placa e programado com a linguagem de programacao C (SCHILDT, 1997), com bibliotecas proprias e no ambiente de desenvolvimento Arduino. Os projetos desenvolvidos com o Arduino podem ser autonomos ou podem comunicar-se com um computador para a realizacao da tarefa, com uso de software especifico. Existem varias placas que podem se comunicar com o arduino, estas podendo ser adquiridas ja montadas ou construidas manualmente. A figura 1 apresenta o Arduino Duemilanove.Para fazer a comunicacao entre